在不使用ODBC的情况下从Java操作Access数据库?

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

  • JDBC-ODBC Bridge已从Java SE 8中删除,并且不受支持(参考:here),

    当文本包含代码点在U + 00FF以上的Unicode字符时,JDBC-ODBC Bridge不能与Access ODBC驱动程序一起正常使用(参考:here),因此这样的设置将无法处理希腊语,俄语,中文等字符,阿拉伯语等,

  • Microsoft的Access ODBC驱动程序仅适用于Windows,并且

    Access数据库引擎(和ODBC驱动程序)有单独的32位和64位版本,可能会对部署造成麻烦。

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

(回答建议最好的方法是使用Java处理Access数据库也将受到欢迎。)

回答:

UCanAccess是一个纯Java JDBC驱动程序,它使我们无需使用ODBC即可读写Access数据库。它使用其他两个软件包Jackcess和HSQLDB来执行这些任务。以下是有关如何进行设置的简要概述。

选项1:使用Maven

如果你的项目使用Maven,则可以通过以下坐标简单地包含UCanAccess:

以下是摘录pom.xml,你可能需要更新<version>以获得最新版本:

<dependencies>

<dependency>

<groupId>net.sf.ucanaccess</groupId>

<artifactId>ucanaccess</artifactId>

<version>4.0.4</version>

</dependency>

</dependencies>

选项2:将JAR手动添加到你的项目中

如上所述,UCanAccess需要Jackcess和HSQLDB。反过来,Jackcess也有其自己的依赖性。因此,要使用UCanAccess,你将需要包括以下组件:

UCanAccess(ucanaccess-xxxjar)

HSQLDB(hsqldb.jar,2.2.5或更高版本)

Jackcess(jackcess-2.xxjar)

commons-lang(commons-lang-2.6.jar或更高版本2.x版本)

commons-logging( commons-logging-1.1.1.jar或更高版本1.x)

幸运的是,UCanAccess在其分发文件中包含了所有必需的JAR文件。解压缩后,你会看到类似

ucanaccess-4.0.1.jar  

/lib/

commons-lang-2.6.jar

commons-logging-1.1.1.jar

hsqldb.jar

jackcess-2.1.6.jar

你需要做的就是将所有五(5)个 JAR添加到你的项目中。

以上是 在不使用ODBC的情况下从Java操作Access数据库? 的全部内容, 来源链接: utcz.com/qa/426531.html

回到顶部