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

标签 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

如何才能使编码正确以连接数据库?

最佳答案

My database file all is in .DBF format

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

关于java - 使用 UCanAccess 而不是 JDBC-ODBC Bridge 来处理 DBF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44238575/

相关文章:

java - 使用java编译python代码

odbc - 多个用户如何处理同一个企业架构师文件?

php - 我该如何更正此错误 : Data source name not found and no default driver specified

python - 使用 pyodbc 读取 DBF 文件

size - 更改 DBF 字段大小

java - 使用 Java 8 和应用程序见解 SDK 版本 1.0.8 时,Azure Application Insights 不显示实时指标

java - 方法重载包括父类和子类

python - 我如何改进这个Python脚本来替换dbf文件中的记录?

java - 通过在 Java 中组合另一个表中的一列来创建表

java - SQLException : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. 应为 1