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

