UCanAccess例外“不支持的新版本:5”

问题描述 投票:1回答:2

我正在尝试使用ucanaccess(4.0.2)jar访问MS Access 2016(.accdb)文件,代码如下:

public class Test {
    static String path ="*****/src/main/resources/TestDatabase.accdb";  //absolute path to my access file
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
       Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
       Connection conn = DriverManager.getConnection("jdbc:ucanaccess://"+path);
}

我得到以下异常:

Exception in thread "main" net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.2 Unsupported newer version: 5
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 db.Test.main(Test.java:29)
Caused by: java.io.IOException: Unsupported newer version: 5
at com.healthmarketscience.jackcess.impl.JetFormat.getFormat(JetFormat.java:293)
at com.healthmarketscience.jackcess.impl.DatabaseImpl.<init>(DatabaseImpl.java:517)
at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:400)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:252)
at net.ucanaccess.jdbc.DefaultJackcessOpener.open(DefaultJackcessOpener.java:35)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:161)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:98)
... 3 more

Maven Dependencies使用:

enter image description here

任何帮助,将不胜感激。

谢谢。

java maven ms-access jdbc ucanaccess
2个回答
1
投票

Jackcess将支持2.1.10版本中的Access 2016数据库(更改当前处于主干,但尚未发布)。


0
投票
  1. 使用jackcess中的最新jar文件覆盖您的库
  2. 转到MS Access 2016
  3. 在“信息”下单击“Compact and Repair”。保存表格。
  4. 尝试再次运行netbeans代码。

它在我的情况下工作:)

© www.soinside.com 2019 - 2024. All rights reserved.