UCanAccess 找不到我的数据库
UCanAccess can not find my DB
我正在尝试使用 UCanAccess 将我的 Java 代码连接到访问中的 table
这是我的代码:
import java.sql.*;
public class HH {
public static void main(String[] args) throws SQLException {
// opens a connection to the database
Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/user/Documents/Database5.accdb");
Statement s = conn.createStatement();
}
}
出于某种原因,它抛出了这个:
Exception in thread "main" net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 given file does not exist: C:\Users\user\Documents\Database5.accdb
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:258)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at HH.main(HH.java:8)
Caused by: java.io.FileNotFoundException: given file does not exist: C:\Users\user\Documents\Database5.accdb
at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:362)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:248)
at net.ucanaccess.jdbc.DefaultJackcessOpener.open(DefaultJackcessOpener.java:35)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:160)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:96)
... 3 more
路径没问题,如果我将其输入 windows 资源管理器,它会打开我的数据库。
根据我使用 UCanAccess 等的经验,我认为您的代码 "jdbc:ucanaccess://C:/Users/user/Documents/Database5.accdb"
应该是
"jdbc:ucanaccess://C:\Users\user\Documents\Database5.accdb"
原因: 在文件系统中它使用反斜杠而不是正斜杠,并且在 java 字符串中 '\' 字符是一个转义符,因此只需输入您需要自己逃脱的那个角色之一:\
将在 getConnection
方法
中显示为 \
我正在尝试使用 UCanAccess 将我的 Java 代码连接到访问中的 table 这是我的代码:
import java.sql.*;
public class HH {
public static void main(String[] args) throws SQLException {
// opens a connection to the database
Connection conn=DriverManager.getConnection("jdbc:ucanaccess://C:/Users/user/Documents/Database5.accdb");
Statement s = conn.createStatement();
}
}
出于某种原因,它抛出了这个:
Exception in thread "main" net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 given file does not exist: C:\Users\user\Documents\Database5.accdb
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:258)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at HH.main(HH.java:8)
Caused by: java.io.FileNotFoundException: given file does not exist: C:\Users\user\Documents\Database5.accdb
at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:362)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:248)
at net.ucanaccess.jdbc.DefaultJackcessOpener.open(DefaultJackcessOpener.java:35)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:160)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:96)
... 3 more
路径没问题,如果我将其输入 windows 资源管理器,它会打开我的数据库。
根据我使用 UCanAccess 等的经验,我认为您的代码 "jdbc:ucanaccess://C:/Users/user/Documents/Database5.accdb"
应该是
"jdbc:ucanaccess://C:\Users\user\Documents\Database5.accdb"
原因: 在文件系统中它使用反斜杠而不是正斜杠,并且在 java 字符串中 '\' 字符是一个转义符,因此只需输入您需要自己逃脱的那个角色之一:\
将在 getConnection
方法
\