Jackcess 解码不支持警告

Posted

技术标签:

【中文标题】Jackcess 解码不支持警告【英文标题】:Jackcess decoding not supported warning 【发布时间】:2015-02-08 19:00:31 【问题描述】:

我正在使用 Jackcess 来帮助进行数据库连接。当我的程序在我的计算机上运行并连接到在 Access 2013 中运行的数据库时,我的程序没有任何问题。

我现在已将其切换到另一台使用 Access 2010 的计算机,但它抛出以下错误:

WARNING:Decoding not supported.  Please choose a CodecProvider which supports reading the current database encoding.
WARNING:Decoding not supported.  Please choose a CodecProvider which supports reading the current database encoding.

Jackess 建议我使用 Jackcess 编码器。但是数据库似乎没有以任何方式编码,所以我认为它不会做太多。

还有其他人遇到过这个错误吗?

【问题讨论】:

如果数据库已加密,那么当您尝试在 Access 中打开数据库时,系统会提示您输入密码。我猜你在两台机器上都没有收到这样的提示......? 正确。这是我检查的第一件事。我认为这是 2010 年的问题,因为 2013 年绝对没有问题。 ... 除了安装在特定机器上的 Access 或 ACE/Jet 版本(如果有)完全不相关,因为 Jackcess 根本不使用 Access 数据库引擎;它直接对 .accdb 或 .mdb 文件进行操作。数据库文件在哪里?是每台机器都试图打开自己的数据库文件的本地副本,还是服务器上的文件在某个地方共享? 这是一个本地文件。在一种情况下,它与前c:\users\Eabryt\bot\file.accdb 的程序(种类)位于同一文件中,程序位于c:\users\Eabryt\bot\src\file.java 在另一种情况下,它更多的是c:\users\Eabryt\file.accdb,程序位于c:users\Eabryt\bot\src\file.java 据我所知不过,这根本不应该引发任何错误,因为我在 java 文件中给出了完整路径。 在“坏”机器上,复制“file.accdb”并将其命名为“bad.accdb”。将“bad.accdb”传输到“好”机器并让您的 Jackcess 应用程序的副本尝试打开“bad.accdb”。有用吗? 【参考方案1】:

鉴于相关问题here 的已接受答案,这几乎可以肯定是由于数据库文件损坏。尽管在对此问题的评论中指出 Access 中的“压缩和修复数据库”操作没有解决问题,但对后一个问题的响应表明它确实有效。

虽然尚未确定损坏的源头,但文件是直接从 Dropbox 共享访问的事实(如后一个问题中所揭示)是一个可能的问题。

【讨论】:

以上是关于Jackcess 解码不支持警告的主要内容,如果未能解决你的问题,请参考以下文章

怎么看解码器支持不支持asio

Media Player 无法播放该文件。可能是播放机不支持该文件类型,或者不支持用于压缩该文件的编解码器

不支持 ffmpeg 编解码器,找不到支持的设备

不支持 Python 解码 Unicode

烧瓶登录:TypeError:不支持解码Unicode

如何禁用“不支持优化标志”的clang警告