使用UCanAccess而不是JDBC-ODBC Bridge来处理DBF文件

时间:2017-05-29 09:05:29

标签: java odbc dbf ucanaccess jdbc-odbc

我正在使用NetBeans IDE 8.2,并希望与UCanAccess建立连接以访问我的数据库文件。最初我使用jdbc:odbc,但我发现Java 8以后不再支持这种方法

这是我最初的编码:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:vABCD");

以下是更改后的代码:

 Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con = DriverManager.getConnection ("jdbc:ucanaccess://C:\\Users\\questionasker\\Desktop\\database");

但是我收到了错误:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.2 C:\Users\questionasker\Desktop\database (Access is denied)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:264)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at vhrmsrptgen.AnnualAppraisal.connect(AnnualAppraisal.java:41)
at vhrmsrptgen.AnnualAppraisal.generate(AnnualAppraisal.java:90)
at vhrmsrptgen.MainFrame.btnGenerate_actionPerformed(MainFrame.java:368)
at vhrmsrptgen.MainFrame_btnGenerate_actionAdapter.actionPerformed(MainFrame.java:583)

我的数据库文件都是.DBF格式(非常旧的文件),所有文件都在这个目录下:

C:\\Users\\questionasker\\Desktop\\database

为了使编码正确连接数据库,我该怎么做?

1 个答案:

答案 0 :(得分:2)

  

我的数据库文件都是.DBF格式

UCanAccess不是JDBC-ODBC Bridge的通用替代品。它是专门用于处理Microsoft Access数据库文件(.mdb.accdb和相关变体)的JDBC驱动程序。它不适用于.dbf(dBASE)文件。