gpt4 book ai didi

java - Ucanaccess 连接未创建

转载 作者:行者123 更新时间:2023-11-30 02:56:55 26 4
gpt4 key购买 nike

我有一个非常有趣的问题,但我没能找到问题的根源。

我的公司最近更新到了较新版本的 Java,用于连接到 MS Access DB 的旧 ODBC 连接方法不再有效。所以我正在更新到新方法。

我发现 Ucanaccess 这似乎是一个不错的选择,因为连接是只读的。

因此,在开始使用之后,我更新了 Ucanaccess 代码中的详细信息。

这是我遇到一个有趣的问题的地方。

我已将以下内容添加到我的项目中

  • ucanaccess-3.0.4.jar
  • commons-lang-2.6.jar
  • commons-logging-1.1.1.jar
  • hsqldb.jar

jackcess-2.1.3.jar

并将连接创建代码更新为以下内容

System.out.println("Establisting Connection.....");
Connection con = DriverManager.getConnection("jdbc:ucanaccess://Z:\\Database\\test.accdb");
System.out.println("Connection Establisted.....");

我使用的第一个数据库受密码保护,因此我认为这可能是导致问题的原因,因此我切换到了新数据库。第二个数据库位于共享驱动器上,因此我将位置映射到上面。即使进行了这两项更改,我仍然遇到同样的问题。

问题是,每次我运行 DriverManager.getConnection 行时,代码都永远不会到达 System.out.println("Connection Etablisted.....");线。没有错误消息,程序仍在运行,因此没有崩溃。奇怪的是,如果我输入无效路径,我确实会到达该行。虽然我确实收到一条错误消息,指出该文件不存在。

我没能找到此问题的解决方案。

最佳答案

我认为 URL 连接可能存在问题。它对我有用:

public class ConnectionUcanaccess {

static
{
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
System.out.println("driver loaded");
} catch (ClassNotFoundException e) {
System.out.println("the class driver can't be loaded");
}
}

static Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:ucanaccess:///Users/shared/Desktop/database.accdb");
}

public static void main(String[] args){

try {
Connection con = ConnectionUcanaccess.getConnection();
System.out.println("Connected: " + !con.isClosed());

} catch (SQLException e) {
System.out.println("Error:" + e.getMessage());
}
}
}

关于java - Ucanaccess 连接未创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36994093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com