Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 通过UCanAccess连接到系统DSN_Scala_Jdbc_Odbc_Dsn_Ucanaccess - Fatal编程技术网

Scala 通过UCanAccess连接到系统DSN

Scala 通过UCanAccess连接到系统DSN,scala,jdbc,odbc,dsn,ucanaccess,Scala,Jdbc,Odbc,Dsn,Ucanaccess,我目前正在将一个项目从Java7升级到Java8,因此我从使用JDBC-ODBC桥切换到使用UCanAccess。我要连接的数据库已注册为系统DSN,因此我按如下方式连接到它: Database.forURL("jdbc:odbc:MyDB" + ";DB_CLOSE_DELAY=-1;charSet=Cp1250", driver = "sun.jdbc.odbc.JdbcOdbcDriver") 现在我把它改成了 Database.forURL("jdbc:ucanaccess:MyDB"

我目前正在将一个项目从Java7升级到Java8,因此我从使用JDBC-ODBC桥切换到使用UCanAccess。我要连接的数据库已注册为系统DSN,因此我按如下方式连接到它:

Database.forURL("jdbc:odbc:MyDB" + ";DB_CLOSE_DELAY=-1;charSet=Cp1250", driver = "sun.jdbc.odbc.JdbcOdbcDriver")
现在我把它改成了

Database.forURL("jdbc:ucanaccess:MyDB" + ";DB_CLOSE_DELAY=-1;charSet=Cp1250", driver = "net.ucanaccess.jdbc.UcanaccessDriver")
但这给了我一个错误:

Driver net.ucanaccess.jdbc.UcanaccessDriver does not know how to handle URL jdbc:ucanaccess:MyDB;DB_CLOSE_DELAY=-1;charSet=Cp1250
有没有办法通过UCanAccess访问DSN

有没有办法通过UCanAccess访问DSN

不直接。UCanAccess是一个不使用ODBC的JDBC驱动程序,因此它不了解ODBC DSN

您的UCanAccess连接字符串需要包括Access数据库文件的路径,例如

jdbc:ucanaccess://C:/path/to/mydata.accdb
如有必要,您可以从ODBC DSN的配置信息中检索该文件路径。在Windows上,名为
MyDB
的系统DSN的信息将位于Windows注册表中的

HKEY\u LOCAL\u MACHINE\SOFTWARE\ODBC\ODBC.INI\MyDb
或许

HKEY\u LOCAL\u MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\MyDb