2016-07-29 20 views
3

Ich aktualisiere gerade ein Projekt von Java 7 zu Java 8, also wechselte ich von der Verwendung der JDBC-ODBC-Brücke zu UCanAccess. Die Datenbank, die ich anschließen möchten, als ein System DSN registriert, so ich es wie folgt angeschlossen:Verbinden mit einem System-DSN über UCanAccess

Database.forURL("jdbc:odbc:MyDB" + ";DB_CLOSE_DELAY=-1;charSet=Cp1250", driver = "sun.jdbc.odbc.JdbcOdbcDriver") 

Jetzt änderte ich das

Database.forURL("jdbc:ucanaccess:MyDB" + ";DB_CLOSE_DELAY=-1;charSet=Cp1250", driver = "net.ucanaccess.jdbc.UcanaccessDriver") 

aber das gibt mir den Fehler:

Driver net.ucanaccess.jdbc.UcanaccessDriver does not know how to handle URL jdbc:ucanaccess:MyDB;DB_CLOSE_DELAY=-1;charSet=Cp1250 

Gibt es eine Möglichkeit, über UCanAccess auf einen DSN zuzugreifen?

Antwort

2

Is there a way to access a DSN via UCanAccess?

Nicht direkt. UCanAccess ist ein JDBC-Treiber, der ODBC nicht verwendet, so dass es ODBC-DSNs nicht kennt.

Ihre UCanAccess Verbindungszeichenfolge muss den Pfad zu der Access-Datenbank-Datei aufgenommen werden, zum Beispiel

jdbc:ucanaccess://C:/path/to/mydata.accdb 

Falls erforderlich, könnten Sie diesen Dateipfad von den Konfigurationsinformationen für einen ODBC-DSN abzuzurufen. Unter Windows genannt die Informationen für einen System-DSN MyDB in der Windows-Registrierung würde unter

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyDb 

oder vielleicht

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\MyDb 
Verwandte Themen