Laden...

Access DB erstellen mit 64 bit

Erstellt von MarcusS vor 8 Jahren Letzter Beitrag vor 8 Jahren 2.416 Views
M
MarcusS Themenstarter:in
153 Beiträge seit 2007
vor 8 Jahren
Access DB erstellen mit 64 bit

Hallo,

ich erzeuge in meiner .Net4.0 Anwendung (x86) mit Interop.ADOX.dll, v4.0.30319 eine Access-Datenbank.
Jetzt musste die Anwendung auf x64 umgestellt werden.
Die Interop.ADOX.dll existiert nicht nicht in einer 64-bit Variante.

Was gibt es denn noch für Möglichkeiten mit einer x64 Anwendung eine Acess-DB zu erzeugen?

Danke!
Marcus

T
2.224 Beiträge seit 2008
vor 8 Jahren

Wie man eine Access DB genau erstellen kann per .Net kann ich leider auch nicht sagen.
Aber brauchst du umbedingt eine Access DB?
Wenn öglich sollte man von Access als DB die Finger lassen.
Alternativ schau dir SQLite mit dem .Net Wrapper an.
Damit bist du sicher, wenn du eine kleine lokale DB brauchst ohne einen dicken SQL Server 😉

Link:
https://www.sqlite.org/
https://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

M
MarcusS Themenstarter:in
153 Beiträge seit 2007
vor 8 Jahren

ja, es muss eine Access-DB sein.

T
2.224 Beiträge seit 2008
vor 8 Jahren

Dann musst du dir, abhängig davon welche Access Version du benötigst, die entsprechende Access Engine für x64 installieren und mal schauen ob du mit ODBC oder besser noch mit ADO .Net mehr Glück hast.
Leider hab ich bisher nur mit ODBC und Access gearbeitet aber immer nur auf eine vorhandene DB zugegriffen.

Müsstest ggf. mal im Forum und auf Google suchen.
Theoretisch müsste es das Problem schon gegeben haben 😃

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

R
317 Beiträge seit 2006
vor 8 Jahren

Hallo,

es gibt für die "klassische" JET-Engine mit den alten Treibern (und mit den klassischen MDB-Dateien von Access) keine Möglichkeit, diese unter 64 Bit zum laufen zu bekommen. (gibts auch einige Microsoft-Infos dazu How to get a x64 version of Jet?).

Die einzige Möglichkeit ist entweder, die Anwendung als 32 Bit zu kompilieren, dann gehen auch die JET-Geschichte wieder. Alternative, wenns 64 Bit sein muss, musst du auf den ACE-Treiber von Microsoft umstellen, der zusätzlich installiert werden muss. Der soll das auch können, mehrere Firmen machen das auch über die ACE-Treiber, um die Kompatibilität zu gewährleisten (Verwendung von 64-Bit-Applikationen mit Microsoft Access-Datenbankdateien).

Da wird aber ADOX auch nicht funktionieren, da es hier keine 64 Bit Version von gibt - hier muss alles auf ACE umgestellt werden.

Gibt einiges dazu auf Stackoverflow:

If you deploy your application on a 64 bit machine your code couldn't use ADOX via JET.OleDB.4.0
If this is the case, then, a fast solution could be to change your target architecture to x86.

Otherwise you could try to download and install on the target machine the 64bit version of Microsoft Access Database Engine drivers, but I don't know if they support ADOX. You will also need to change your connection string

Daniel

Hinweis von gfoidl vor 8 Jahren

Wenn du SO zitierst, so kann auch das [[nop][/nop]quote3]-Tag verwendet werden.

Siehe dazu auch BBCode

1.696 Beiträge seit 2006
vor 8 Jahren

Hallo,

ich denke, hier verwechselt jemand was. Die Access-Datenbank (wenn man es überhaupt Datenbank nennen kann) ist nicht gleich die JET-DB, welche ohne Accessinstallation über ADO erzeugt werden kann. Und somit erübrigt sich die Frage nach der Lösung des Problems 😉

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

M
MarcusS Themenstarter:in
153 Beiträge seit 2007
vor 8 Jahren

exisitieren OpenSource Alternativen mit denen man accdb-Dateien ohne existierende Accessinstallation erstellen kann?
Sind hier irgendwelche bekannt?
Danke

16.834 Beiträge seit 2008
vor 8 Jahren

Das AccessDB-Format ist nicht public; einen alternativen Client zu findender funktioniert und alle Funktionen unterstützt, das halte ich für unwahrscheinlich.
Dahingehend sei auch gesagt, dass AccessDB modernen Ansprüchen von Software gar nicht mehr gerecht wird und absolut nicht verwendet werden sollte.
Es gibt viel bessere Alternativen ohne Dependencies und mit mehr Leistung.