Java ODBC-Zugriff auf x64-Windows / Advantage Database Server

64 Bit ist ein Trend, der nicht mehr aufzuhalten ist. Endlich ist die 3GB-Grenze auf den Clientbetriebssystemen Geschichte.
Mit Windows 7×64 habe ich auch meine Programmierumgebung auf 64 Bit umgestellt – damit gingen meine Probleme los.

Bisher habe ich mit Java und ODBC auf meine ADS-DBF-Dateien zugegriffen mit folgender Konfiguration:

Unter Windows 7 funktionierte die Datenbankanbindung jedoch nicht mehr. Erste Hürde: Installation eines 32-Bit ODBC-Treibers.
Es gibt unter Windows 7 64 Bit die ODBC-Verwaltung in 32 und in 64 Bit:

ODBC Datenquellenadministrator 32 Bit:
c:\windows\SysWOW64\odbcad32.exe

ODBC Datenquellenadministrator 64 Bit:
c:\windows\System32\odbcad32.exe

Die ODBC-Verbindung klappt jedoch nur in Kombination mit 32 Bit Java und 32 Bit ODBC. Auf reiner 64-Bit Ebene funktioniert die Verbindung nicht.
Es kommt folgende Fehlermeldung:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der angegebene DSN weist eine nicht übereinstimmende Architektur von Treiber und Anwendung auf.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at rentasad.lib.db.ODBCConnection.connect(ODBCConnection.java:68)
at rentasad.lib.db.ODBCConnection.(ODBCConnection.java:29)
at rentasad.main.KreditkartenZuDTIGenerator.main(KreditkartenZuDTIGenerator.java:45)

Diese Fehlermeldung lässt sich jedoch ziemlich einfach beheben.

Es muss ein 32 Bit JDK installiert werden. Dieses wird zum Ausführen der Java-Applikation verwendet.
Einrichtung eines 32-Bit SDKs für eine Applikation

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte lösen Sie die folgende Rechenaufgabe, um zu zeigen, dass Sie kein Bot sind. Danke! * Time limit is exhausted. Please reload CAPTCHA.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.