Lokale mdb Datenbankdatei zur Laufzeit erzeugen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von doci.

    Lokale mdb Datenbankdatei zur Laufzeit erzeugen

    Hallo Zusammen,

    ich würde gerne eine lokale mdb Datenbankdatei zur Laufzeit erzeugen. Das Forum enthält einen Beitrag zu VS 2005 - hier wird mit einem Verweis auf die Bibliothek ADO.X gearbeitet - bei VS 2008 gibt es diese Bibliothek nicht. Kann jemand weiterhelfen ?

    Der Datenbank Designer von VB kann nur Verbindungen zu bestehenden Datenbanken aufnehmen, aber keine Datenbanken und/oder Tabellen komplett neu erzeugen.

    Ich möchte auch keine Verbindung zu einem SQL Server Express - da dass Projekt ja auch weitergegeben werden soll und ohne SQL Server laufen soll.

    Die lokale Datenbankdatei in Form einer Compact 3.5 Datenbank ist für mein Projekt auch nicht geeignet - da zu abgespeckt.

    Danke.

    P.S. Scheinbar setzt Microsoft voraus, dass jeder VB-Entwickler auch eine Professional Version von Office besitzt. Office 2007 Professional Datenbanken sind nicht mit VS 2008 ansprechbar, da diese neue Elemente beinhalten, die VB 2008 noch nicht kennt. (Master-Detail Tabellen).

    Gruß
    Thorsten
    bitteschön

    VB.NET-Quellcode

    1. Dim query As String
    2. Dim conStr As String = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Application.StartupPath & "\datenbank.mdb;"
    3. query = "Create Table Tabelle1(Feld1 String, Feld2 String, Feld3 String)"
    4. Dim conn As New System.Data.Odbc.OdbcConnection(conStr)
    5. Dim com As New System.Data.Odbc.OdbcCommand(query, conn)
    6. If System.IO.File.Exists(Application.StartupPath & "\datenbank.mdb") = True Then
    7. MsgBox("Es besteht bereits eine Datenbank mit den Namen 'datenbank.mdb'")
    8. Exit Sub
    9. End If
    10. Try
    11. Dim oCat As ADOX.Catalog
    12. Dim sConn As String
    13. oCat = New ADOX.Catalog
    14. sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\datenbank.mdb;"
    15. oCat.Create(sConn)
    16. oCat = Nothing
    17. conn.Open()
    18. com.ExecuteNonQuery()
    19. Catch ex As Exception
    20. MsgBox("Fehler beim Erstellen der Datenbank" & vbCrLf & vbCrLf & ex.Message)
    21. Finally
    22. conn.Close()
    23. End Try


    es wird die datenbank "datenbank.mdb" erstellt, und zwar in dem ordner, indem sich auch das programm befindet, sprich, wenn du die exe, die die datenbank erstellen soll, sich auf den desktop befindet, wird die datenbank auch auf dem desktop erstellt.

    in der datenbank gibt es drei felder, Feld1, Feld2, Feld3, alle als string

    wie du siehst, ähnelt es sehr an die sql syntaxe, welche man in der kommandozeilen ebene verwendet


    PS: damit das funktioniert, musst du auf "Microsoft Ado Ext. 2.7 oder 2.8" verweisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „doci“ ()