ms-access - 无法使用 DBeaver 和默认 UCanAccess-5.0.0 驱动程序连接到 MS Access mdb 文件

标签 ms-access dbeaver ucanaccess

出现以下错误: 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/”

uca1

进入“lib”文件夹并删除“hsqldb-2.5.0.jar”。下载hsqldb-2.5.1.jar来替换它。

uca2

在 DBeaver 中,右键单击您的连接并选择“编辑连接”。单击“编辑驱动程序设置”按钮,然后在“库”选项卡中删除 DBeaver 创建的“net.sf.ucanaccess.ucanaccess:RELEASE”条目。然后使用“添加文件”按钮从下载文件夹中添加五 (5) 个 jar

jars

现在您应该能够打开 .mdb 文件。

关于ms-access - 无法使用 DBeaver 和默认 UCanAccess-5.0.0 驱动程序连接到 MS Access mdb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65074428/

相关文章:

ms-access - 即使 Microsoft.ACE.OLEDB.12.0 提供程序实际上已安装,它也未在本地计算机上注册

ms-access - 如果是自动编号字段,则跳过复制此字段

sql - 仅运行一次 SQL 更新查询

java - UCAExc:::3.0.7 意外标记:logDate

java - UCanAccess 中针对多值字段的解决方法 : "incompatible data type in conversion: from SQL type OTHER"?

vba 格式函数错误地将数字解释为日期

dbeaver - 如何在 DBeaver Database Navigator 中按字母顺序对数据库进行排序

php - PostgreSQL:使用默认时间戳插入 sql 语句 - dbeaver 与 php

dbeaver - 如何在DBeaver中切换大写字符转换?

java - 网络.ucanaccess.jdbc.UcanaccessSQLException : invalid authorization specification - not found: