出现以下错误: UCAExc:::5.0.0-SNAPSHOT 意外 token :需要 DOUBLE:FOR 意外 token :DOUBLE 需要:FOR
我的连接字符串是: jdbc:ucanaccess:///mnt/toolboss-plt11/sps.mdb 其他一切都包含默认值。 我相信 mdb 文件是 Access 2000 格式。我能够使用 Microsoft SSIS jet 4.0 驱动程序连接到此文件。
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
您在 UCanAccess/HSQLDB 中遇到了错误。当我尝试使用 UCanAccess 的 console.bat
打开您的测试文件时,我看到了
C:\Users\Public\Downloads\UCanAccess>console.bat
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
Please, enter the full path to the access file (.mdb or .accdb): /home/gord/Desktop/test.mdb
Cannot execute:CREATE CACHED TABLE RATIONING(ITEMTYPE INTEGER,ITEMKEY VARCHAR(50),ISSUETARGETTYPE INTEGER,ISSUETARGETKEY VARCHAR(50),MAXQTY INTEGER,PERIOD DOUBLE,PERIODTYPE INTEGER) unexpected token:
DOUBLE required: FOR
PERIOD
似乎是 HSQLDB 2.5.0(UCanAccess 5.0.x 附带的版本)中的保留字。但是,升级到 HSQLDB 2.5.1 后,相同的 CREATE 语句不会失败。
您应该发布 help request在 SourceForge 上要求 Marco 更新 UCanAccess 发行版中的 HSQLDB 版本。与此同时,您可以解决该问题。
下载UCanAccess-5.0.1.bin.zip并打开包装。我将副本放入“/home/gord/Downloads/JDBC/”
进入“lib”文件夹并删除“hsqldb-2.5.0.jar”。下载hsqldb-2.5.1.jar来替换它。
在 DBeaver 中,右键单击您的连接并选择“编辑连接”。单击“编辑驱动程序设置”按钮,然后在“库”选项卡中删除 DBeaver 创建的“net.sf.ucanaccess.ucanaccess:RELEASE”条目。然后使用“添加文件”按钮从下载文件夹中添加五 (5) 个 jar
现在您应该能够打开 .mdb 文件。
关于ms-access - 无法使用 DBeaver 和默认 UCanAccess-5.0.0 驱动程序连接到 MS Access mdb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65074428/