Hallo!
Ich entwickle derzeit mit VB Express 2k5 eine Anwendung. Diese Anwendung soll Daten erfassen und in einer Datei speichern. Ein User kann mehrere Datenbasen (Dateien) benutzen (nicht gleichzeitig aber nacheinander).
Als erstes dachte ich ich könnte mit SQL Express 2005 solche Dateidatenbanken erstellen - geht auch gut mit dem Designer. Was ich nicht wusste ist, dass der Anwender SQL Express installieren und eine Instanz laufen lassen muss. Dies geht meinem Design ziemlich gegen den Strich weil viele Anwender nicht gewollt sind neben .NET 2.0 etwas zusätzliches zu installieren.
Ich hab mir zusätzlich noch SQL Everywhere angeschaut, allerdings weder die Bibliotheken in meinem (standard) .NET Namespace gefunden noch bin ich mir sicher dass diese Methode die richtige ist.
Also bleib ich bei (altbewährt) JET und OLE DB in Verbindung mit ADO. Super sache - nur Visual Studio liefert nichts mit um Access Datenbanken erstellen zu können. Mit Office gings dann und Visual Studio hat (Gott sei Dank) sogar automatisch ein passendes DataSet erstellt. Nennen wir das DataSet mal DataSetA.
Wenn ich jetzt mit ADOX (2.8) eine neue Datenbank anlegen will (wir erinnern uns, ein User will mehrere Datenbasen haben können) gehe ich wie folgt vor:
Code:
Natürlich funktioniert das nicht (warum auch aufs erste Mal?)... oCat.Tables.Append verlangt den Typ ADOXTable! Jetzt bitte helft mir die Kurve zu bekommen. Es muss doch dank ADO, ADOX und OLEDB + Dataset eine einfache Möglichkeit geben eine Datenbank auf Basis eines Dataset zu erstellen? Oder muss ich erst das MDB, dann das DataSet und dann auch noch die Routine zur Erstellung anpassen?
Danke!
Gruß,
Daniel
PS: Falls jemand einen anderen Ansatz als OLEDB hat - der mir wegen schludrigen Lesens entgangen ist - bin ich sehr dankbar!
Ich entwickle derzeit mit VB Express 2k5 eine Anwendung. Diese Anwendung soll Daten erfassen und in einer Datei speichern. Ein User kann mehrere Datenbasen (Dateien) benutzen (nicht gleichzeitig aber nacheinander).
Als erstes dachte ich ich könnte mit SQL Express 2005 solche Dateidatenbanken erstellen - geht auch gut mit dem Designer. Was ich nicht wusste ist, dass der Anwender SQL Express installieren und eine Instanz laufen lassen muss. Dies geht meinem Design ziemlich gegen den Strich weil viele Anwender nicht gewollt sind neben .NET 2.0 etwas zusätzliches zu installieren.
Ich hab mir zusätzlich noch SQL Everywhere angeschaut, allerdings weder die Bibliotheken in meinem (standard) .NET Namespace gefunden noch bin ich mir sicher dass diese Methode die richtige ist.
Also bleib ich bei (altbewährt) JET und OLE DB in Verbindung mit ADO. Super sache - nur Visual Studio liefert nichts mit um Access Datenbanken erstellen zu können. Mit Office gings dann und Visual Studio hat (Gott sei Dank) sogar automatisch ein passendes DataSet erstellt. Nennen wir das DataSet mal DataSetA.
Wenn ich jetzt mit ADOX (2.8) eine neue Datenbank anlegen will (wir erinnern uns, ein User will mehrere Datenbasen haben können) gehe ich wie folgt vor:
Code:
Code:
Dim oCat As ADOX.Catalog
Dim sConn As String
sConn = "***"
oCat = New ADOX.Catalog
oCat.Create(sConn)
Dim table as DatasetA.TableOne ' TableOne ist eine Tabelle des DatasetA
oCat.Tables.Append(table)
Natürlich funktioniert das nicht (warum auch aufs erste Mal?)... oCat.Tables.Append verlangt den Typ ADOXTable! Jetzt bitte helft mir die Kurve zu bekommen. Es muss doch dank ADO, ADOX und OLEDB + Dataset eine einfache Möglichkeit geben eine Datenbank auf Basis eines Dataset zu erstellen? Oder muss ich erst das MDB, dann das DataSet und dann auch noch die Routine zur Erstellung anpassen?
Danke!
Gruß,
Daniel
PS: Falls jemand einen anderen Ansatz als OLEDB hat - der mir wegen schludrigen Lesens entgangen ist - bin ich sehr dankbar!