问题标签 [ucanaccess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5364 浏览

java - 如何使用 Spring 配置 UCanAccess JDBC 驱动程序?

每当我尝试使用 ODBC 驱动程序访问 MDB 文件时,它都会给我一个错误:

所以我决定改用UCanAccess JDBC 驱动程序

有没有人有使用 Spring 配置 UCanAccess JDBC 驱动程序的经验?

我已将 UCanAccess.jar 放入我的 lib 文件夹并如下配置,但这不起作用:

我的开发环境:带有 JdbcTemplate 的 Spring Framework 3.x,Windows 7 64bit,Microsoft Access 2013。

0 投票
1 回答
177742 浏览

java - 在没有 ODBC 的情况下从 Java 操作 Access 数据库

我想从我的 Java 项目中操作 Microsoft Access 数据库(.accdb 或 .mdb 文件)。我不想使用 Microsoft 的 JDBC-ODBC 桥和 Access ODBC 驱动程序,因为:

  • JDBC-ODBC 桥已从 Java SE 8 中删除并且不受支持(参考:此处),
  • 当文本包含代码点高于 U+00FF(参考:此处)的 Unicode 字符时,JDBC-ODBC 桥无法与 Access ODBC 驱动程序一起正常工作,因此此类设置将无法处理希腊语、俄语、中文等字符, 阿拉伯语等,
  • Microsoft 的 Access ODBC 驱动程序仅适用于 Windows,并且
  • Access 数据库引擎(和 ODBC 驱动程序)有单独的 32 位和 64 位版本,这可能会给部署带来麻烦。

我看到其他答案提到了名为UCanAccess的 Access 数据库的 JDBC 驱动程序。如何设置我的 Java 项目以使用这种方法?

(也欢迎提出更好的从 Java 处理 Access 数据库的方法的答案。)

0 投票
1 回答
1320 浏览

java - JT400和UCanAccess冲突?

由于我已添加到参考库 ucanaccess-2.0.3.jar (eclipse Luna),因此在执行我的程序时收到此错误:

引用了包含 JT400 连接的一行代码,如果我的项目中不包含 ucanaccess jar,则该行有效,如下所示:

所以我很困惑......我也有一个进行 ucanaccess 连接的类,但在我按下按钮之前它不会被调用:

这是图书馆的冲突吗?有人尝试过吗?

0 投票
1 回答
3747 浏览

java - 使用 UCanAccess 读取 .mdb 文件会返回全部大写的列名

我正在从 JDBC-ODBC 桥驱动程序迁移到 UCanAccess 驱动程序。

在这样做时,我面临以下问题:UCanAccess 驱动程序以大写形式返回所有列名,但我需要它们是 CamelCase。

有任何想法吗?

谢谢!

0 投票
2 回答
8019 浏览

java - Netbeans IDE 8.0 和 UCanAccess 之间的冲突?

我必须在 Netbeans“服务”选项卡
服务->数据库->驱动程序->新驱动程序中定义一个新驱动程序...
因为我想在 UCanAccess 的上下文中使用“来自数据库的实体类”-向导。
第一步:“新驱动程序”确实有效(仅声明 ;-))

  • 驱动程序文件:f:\WorkspaceNetbeans\MSAccessDB\lib\UCanAccess-2.0.4-bin\ucanaccess-2.0.4.jar
  • 驱动类:net.ucanaccess.jdbc.UcanaccessDriver
  • 名称:msaccess

第二步:“使用...连接”

  • JDBC URL:jdbc:ucanaccess://F:/WorkspaceNetbeans/MSAccessDB/data/Datanbank2.accdb
  • “用户名”和“密码”留空

“测试连接”按钮导致错误消息:

无法使用 net.ucanaccess.jdbc.UcanaccessDriver 建立与 jdbc:ucanaccess://F:\WorkspaceNetbeans\MSAccessDB\data\
Datanbank2.accdb 的连接(无法初始化类
net.ucanaccess.jdbc.UcanaccessDriver)

我从http://ucanaccess.sourceforge.net/site.html ucanaccess-2.0.4.jar、commons-lang-2.6.jar、commons-logging-1.0.4.jar、hsqldb.jar获得了最新的 ucanaccess , jackcess-2.0.3.jar 在 Netbeans 类路径中。

通过 jdbc 连接到 ucanaccess 的老式方式工作正常。

相同的连接字符串也可以正常工作,使 DBeaver 能够连接到 MSAccess 数据库。

我的设置:
Windows 7 Professional 64 位
Microsoft Office 2013
NetBeans IDE 8.0
Java 1.8

问题类似于:“JT400 和 UCanAccess 之间的冲突?” JT400和UCanAccess冲突?
但那里的答案对我的问题没有帮助。

有什么想法可以解决我的问题吗?

0 投票
1 回答
5140 浏览

java - 准备好的语句和结果集 - Java 空指针异常

概述:尝试连接到 MS Access 数据库以将结果集返回到 jtable。

问题:java空指针异常

代码:

我有一个表格,可以抓取 strMIGIDREF,如果需要,我可以粘贴代码,但我认为这不是问题所在。

这是我得到的错误,我已经粘贴了第一位,如果需要可以粘贴更多。

第 63 行是

我已经尝试了一些我在谷歌上找到的解决方案,但到目前为止还没有任何乐趣。我已经尝试了一段代码来检查连接等,并且似乎工作正常,只是当我尝试使用preparedstatement时它似乎错过了。结果集 rs = preStatement.getResultSet(); 只是一直说它的值为空,getMaxRows 也是如此。

我正在使用 Netbeans IDE 7.4 和 JAVA SE SDK 7

0 投票
2 回答
486 浏览

java - 在 UCanAccess 中通过 DDL 创建的表无法在 Access 本身中打开

我已经能够使用 UCanAccess 2.0.6 驱动程序从 Java 成功创建 MS Access 数据库表。但是,我随后无法从 MS Access(Microsoft Office 2007,Windows 7 64 位)打开表,MS Access 抛出错误:

保留错误(-5001);没有针对此错误的消息。

在 MS Access 中使用完全相同的 CREATE TABLE 语句不会产生任何问题。奇怪的是,表已成功创建,并且可以通过查询成功添加和检索数据。所以这些表在底层数据库中,但 Access 无法打开它们。

如果有帮助,我正在使用的创建语句之一如下:

0 投票
1 回答
701 浏览

java - UCanAccess 出现 ClassNotFoundException 和 NoClassDefFound 错误

Java 8 中不再包含 JDBC-ODBC 桥,所以我尝试了 UCanAccess,但我遇到了麻烦。这是我的代码:

如图所示,我已经包含了一些外部罐子:

http://i.imgur.com/ujhPP0l.png?1

当我运行它时,它给了我一个带有 ClassNotFoundException 和 NoClassDefFound 错误的堆栈跟踪,如下所示:

http://i.imgur.com/UACP77k.png?1

我的代码有什么问题?

0 投票
1 回答
1777 浏览

java - 如何使用 UCanAccess 在两列上创建具有唯一约束的表?

如何编写 sql 查询以使用 jdbc 在 2 列上创建具有唯一约束的表:我尝试此代码并给我“SQLException:无效的创建语句!”:

0 投票
2 回答
792 浏览

java - 尽管 SQL 查询在 Access 中返回了结果,但它没有从 Java 中返回任何结果

当我运行此查询时:

它在 Access 查询界面中返回结果,但是当我尝试从 Java 运行它时,它不返回结果。

我的表(tbl_Unknown):

我的java代码: