Java &引用;给定的文件不存在";UCanAccess连接出现问题
我正试图连接到Mac(el capitaine)上Eclipse(Mars 4.5.0;Java 1.8)中的Microsoft Access数据库。我不断得到错误:Java &引用;给定的文件不存在";UCanAccess连接出现问题,java,jdbc,ucanaccess,Java,Jdbc,Ucanaccess,我正试图连接到Mac(el capitaine)上Eclipse(Mars 4.5.0;Java 1.8)中的Microsoft Access数据库。我不断得到错误: net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::3.0.4给定文件不存在:Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb 这是我的代码: import java.sql.*; public class DbAccess {
net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::3.0.4给定文件不存在:Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb
这是我的代码:
import java.sql.*;
public class DbAccess
{
public static void main(String[] args)
{
try
{
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
Connection conn=DriverManager.getConnection("jdbc:ucanaccess://Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb;");
Statement stment = conn.createStatement();
String qry = "SELECT * FROM Table1";
ResultSet rs = stment.executeQuery(qry);
while(rs.next())
{
String id = rs.getString("ID") ;
String fname = rs.getString("Nama");
System.out.println(id + fname);
}
}
catch(Exception err)
{
System.out.println(err);
}
}
}
我确信这与路径名斜杠有关,但我尝试了每一种排列,仍然得到相同的错误。我不熟悉Mac文件系统,但您尝试过“jdbc:u”吗canaccess:///...“(包括额外的斜杠) 说明: 数据库文件的路径紧跟在连接URL的
jdbc:ucanaccess://
前缀之后,因此
jdbc:ucanaccess://Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb;
数据库文件的路径为
Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb
它被解释为相对路径,相对于Java应用程序启动时有效的OS级当前目录
为了将路径解释为绝对路径,它必须以正斜杠开始,即
/Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb
因此,连接URL需要
jdbc:ucanaccess:///Users/sebastianzeki/Documents/BEST2RFA_DBv1.accdb
我不熟悉Mac文件系统,但你试过“jdbc:u”吗canaccess:///..."? 啊哈。这是额外的斜杠。谢谢添加作为答案,以便我可以接受?很高兴提供帮助。当然可以。:-)