Jackcess 可以与 MS Access 2013 一起使用吗?

Posted

技术标签:

【中文标题】Jackcess 可以与 MS Access 2013 一起使用吗?【英文标题】:Will Jackcess work with MS Access 2013? 【发布时间】:2014-11-25 21:49:31 【问题描述】:

我正在编写一个 Java 应用程序,它为用户创建一些数据,并且需要生成一个 Access 文件,然后用户可以下载该文件并使用 MS Access 打开。用户拥有 MS Access 2013。

我在网上找到的唯一 Java 库是 Jackcess。但是,在他们的文档和 API 中,他们只升级到 V2010。

使用 File Format V2010 生成的文件会被 Access 2013 打开吗?根据迄今为止的研究 - 没有。

还有其他解决方案可以让 Java 程序创建 Access 2013 文件吗?请分享! Java + Access 2013 的所有帮助都用于连接到 Access 2013 数据库。我不需要连接,我只需要创建一个用户将导入的文件。

【问题讨论】:

所以试一试,你会发现它有效。 希望在等待 Access 2013 安装时抢占先机... 谢谢。更改内容类型没有帮助。我将后续问题分成了自己的问题***.com/questions/27196153/… 使用byteRead = fis.read(buffer)。你忘了填充缓冲区。您使用read() 版本在没有缓冲区的情况下逐字节读取。 谢谢你,vanje,你是对的。我盯着它看了好几个小时,没有看到它。我在另一个帖子中赞成你的答案。 【参考方案1】:

是的,由 Jackcess 创建的 Access_2010 格式文件 (FileFormat.V2010) 可以在 Access 2013 中打开。Jackcess 还可以操作由 Access 2013 创建的 .accdb 文件。我已经完成了这两项任务并且它们工作得很好我。

如果您还没有这样做,您可以考虑使用UCanAccess。它使用 Jackcess 来执行 Access 数据库文件的实际读取和写入,但 UCanAccess 是一个(纯 Java)JDBC 驱动程序,因此您可以使用 SQL 而不必直接写入 Jackcess API。有关详细信息,请参阅

Manipulating an Access database from Java without ODBC

【讨论】:

谢谢!我有好消息和坏消息。好消息是我可以在服务器端创建一个 2010 的 mdb 文件,当这个文件通过 FTP 传送到客户端时,客户端的 Access 2013 可以打开它。坏消息是,我需要通过 servlet 传输此文件,完成后,Access 无法打开它。所以 FTP'ing 有效,但 servlet 传输无效。我正在使用上传代码更新原始消息。谢谢!

以上是关于Jackcess 可以与 MS Access 2013 一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jackcess 在 Java 中创建一个新的 MS Access 文件

在 Jackcess 中对表进行排序

UCanAccess/Jackcess 在 Access 中创建查看/保存查询

Java JTable 导出到现有的 MS Access 表

当 Jackcess 连接正常时,UCanAccess 驱动程序在尝试连接 Access 数据库时抛出异常

Jackcess 解码不支持警告