将 java 连接到 Microsoft Access 数据库

问题描述

几个小时以来,我一直在尝试使用“ucanaccess”库连接到 microsoft access 2007 数据库

但这对我来说是不可能的,因为我在连接时总是收到错误不支持的新版本:32”。我已经使用 maven 尝试了所有已发布的 'ucanaccess' 版本,但没有一个我有用。

错误堆栈跟踪:

net.ucanaccess.jdbc.ucanaccesssqlException: UCAExc:::5.0.1 Unsupported newer version: 32
at net.ucanaccess.jdbc.ucanaccessDriver.connect(ucanaccessDriver.java:231)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at morales.david.server.utils.AccessConnection.open(AccessConnection.java:26)
at morales.david.server.managers.ImportManager.importDatabase(ImportManager.java:42)
at morales.david.server.clients.ClientProtocol.receiveFile(ClientProtocol.java:169)
at morales.david.server.clients.ClientProtocol.parseInput(ClientProtocol.java:40)
at morales.david.server.clients.ClientThread.run(ClientThread.java:67)

Caused by: java.io.IOException: Unsupported newer version: 32
at com.healthmarketscience.jackcess.impl.JetFormat.getFormat(JetFormat.java:309)
at com.healthmarketscience.jackcess.impl.DatabaseImpl.<init>(DatabaseImpl.java:538)
at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:415)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:267)
at net.ucanaccess.jdbc.DefaultjackcessOpener.open(DefaultjackcessOpener.java:37)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:171)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
at net.ucanaccess.jdbc.ucanaccessDriver.connect(ucanaccessDriver.java:91)
... 7 more

我使用的版本:

<dependency>
    <groupId>net.sf.ucanaccess</groupId>
    <artifactId>ucanaccess</artifactId>
    <version>5.0.1</version>
</dependency>

这是我用来打开连接的代码

public void open() {
    try {

        String path = "jdbc:ucanaccess://C:\\Users\\david\\Desktop\\dam.accdb";

        Class.forName("net.ucanaccess.jdbc.ucanaccessDriver");

        connection = DriverManager.getConnection(path);

    } catch (ClassNotFoundException | sqlException e) {
        e.printstacktrace();
    }
}

有人知道如何解决吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)