我目前正在将一个项目从Java7升级到Java8,因此我从使用切换到使用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的方法?
发布于 2016-07-29 16:02:09
有没有一种通过UCanAccess访问DSN的方法?
不是直接的。UCanAccess是一个不使用ODBC的JDBC驱动程序,因此它不了解ODBC。
UCanAccess连接字符串需要包含Access数据库文件的路径,例如,
jdbc:ucanaccess://C:/path/to/mydata.accdb如果有必要,可以从ODBC DSN的配置信息中检索该文件路径。在Windows上,名为MyDB的系统DSN的信息将位于
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyDb或者也许
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\MyDbhttps://stackoverflow.com/questions/38656127
复制相似问题