【问题标题】:Connect to a System DSN via UCanAccess通过 UCanAccess 连接到系统 DSN
【发布时间】:2016-12-04 00:17:36
【问题描述】:

我目前正在将项目从 Java 7 升级到 Java 8,因此我从使用 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?

【问题讨论】:

    标签: scala jdbc odbc dsn ucanaccess


    【解决方案1】:

    有没有办法通过 UCanAccess 访问 DSN?

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

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

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

    如有必要,您可以从 ODBC DSN 的配置信息中检索该文件路径。在 Windows 上,名为 MyDB 的系统 DSN 的信息将位于 Windows 注册表中的

    HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MyDb
    

    或许

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多