我正在使用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
为了使编码正确连接数据库,我该怎么做?
答案 0 :(得分:2)
我的数据库文件都是.DBF格式
UCanAccess不是JDBC-ODBC Bridge的通用替代品。它是专门用于处理Microsoft Access数据库文件(.mdb
,.accdb
和相关变体)的JDBC驱动程序。它不适用于.dbf
(dBASE)文件。