在不使用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