未创建 Ucanaccess 连接
Ucanaccess Connection not being created
我有一个非常有趣的问题,但我没有找到问题的根源。
我公司最近更新到更新版本的 Java,用于连接到 MS Access 数据库的旧 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 Establisted.....");线。没有错误消息,程序仍在 运行ning,所以没有崩溃。 st运行ge 的事情是,如果我在其中输入无效路径,我就会到达那条线。虽然我收到一条错误消息说文件不存在。
我一直没有找到解决此问题的方法。
我认为 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,用于连接到 MS Access 数据库的旧 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 Establisted.....");线。没有错误消息,程序仍在 运行ning,所以没有崩溃。 st运行ge 的事情是,如果我在其中输入无效路径,我就会到达那条线。虽然我收到一条错误消息说文件不存在。
我一直没有找到解决此问题的方法。
我认为 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());
}
}
}