我需要从加密的Access 97数据库中读取数据并尝试使用Jackcess和UCanAccess.

我正在使用来自bouncycastle.org的jackcess-2.1.2.jar,jackcess-encrypt-2.1.0和bcprov-jdk15on-152.jar

由于UCanAccess在内部使用Jackcess,我在其他所有尝试中都遇到了同样的错误.

import com.healthmarketscience.jackcess.CryptCodecProvider;

import com.healthmarketscience.jackcess.Database;

import com.healthmarketscience.jackcess.DatabaseBuilder;

import java.io.File;

File fi = new File("test/access/data.mdb");

CryptCodecProvider cryptProvider = new CryptCodecProvider();

cryptProvider.setPassword("mypassword");

DatabaseBuilder dbb = new DatabaseBuilder(fi);

dbb.setFileFormat(Database.FileFormat.V1997);

dbb.setAutoSync(false);

dbb.setCodecProvider(cryptProvider);

dbb.setReadOnly(true);

Database dbc = dbb.open();

最后一行调用错误,这里是堆栈跟踪:

Exception in thread "main" java.lang.NoSuchMethodError: org.bouncycastle.crypto.StreamCipher.processBytes([BII[BI)V

at com.healthmarketscience.jackcess.impl.BaseCryptCodecHandler.streamDecrypt(BaseCryptCodecHandler.java:91)

at com.healthmarketscience.jackcess.impl.BaseJetCryptCodecHandler.decodePage(BaseJetCryptCodecHandler.java:62)

at com.healthmarketscience.jackcess.impl.PageChannel.readPage(PageChannel.java:224)

at com.healthmarketscience.jackcess.impl.UsageMap.read(UsageMap.java:130)

at com.healthmarketscience.jackcess.impl.PageChannel.initialize(PageChannel.java:117)

at com.healthmarketscience.jackcess.impl.DatabaseImpl.(DatabaseImpl.java:516)

at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:389)

at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:248)

at ACCESS.ACCESSTest.main(ACCESSTest.java:84)

解决方法:

事实证明,虽然jackcess-encrypt与bouncycastle 1.52源兼容,但它不是二进制兼容的.有关更多详细信息,请参见此feature request.基本上(现在),您需要使用1.50或更低版本的bouncycastle.

更新:从jackcess-encrypt的2.1.1版本开始,bouncycastle的旧版本(1.52之前版本)和更新版本(1.52版本)应该正常工作.

标签:java,encryption,ucanaccess,ms-access-97,jackcess

来源: https://codeday.me/bug/20190829/1763196.html

java 读mdb,使用Java / Jackcess从加密的Access .mdb中读取相关推荐

  1. csv java web 导入_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据. CSV是一种紧凑,简单且通用的数据交换通用格式. 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中. CSV ...

  2. java代码如何运用加密狗_如何使用JAVA从加密狗的SIM中读取短信

    我使用以下代码从加密狗发送短信. 它的发送成功了. 现在我想从加密狗读取SIM短信或未读短信,所以任何人都可以告诉我如何阅读 以下是发送短信的代码 import org.smslib.Outbound ...

  3. java读mysql增量_如何复制行并在MySQL中使用自动增量字段插入同一个表?

    如果您需要复杂的解决方案以便经常这样做,您可以使用以下过程: DELIMITER $$ CREATE PROCEDURE `duplicateRows`(_schemaName text, _tabl ...

  4. python怎么读文件里的指定几行-Python从文件中读取指定的行以及在文件指定位置写入...

    Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 :This is line 1. Thi ...

  5. matlab读Excel表格数据画图,matlab读Excel表格数据画图-matlab如何从excel表格中读取数据?...

    如何将excel表格中大量数据导入matlab中并作图 1.打开matlab,点击主页下面的数据导入,你可以导入excel数据,这里导入你自己命名的huitushuju文件. 2.单击"打开 ...

  6. adobe reader java_请问,如何用JAVA读PDF文件在浏览器中显示,不需要在本地系统中安装Adobe Reader。求java代码...

    JAVA读PDF可以实现,重点是如何在网页中显示PDF文件,而且不需要安装AdobeReader.没有安装AdobeReader,在网页显示PDF文件时,浏览器会提示下载.请问如何在网页中显示PDF文 ...

  7. java转发乬数据,Java流编程实例及代码

    1.前言 在众多流行的编程语言中,Java对IO的处理应该是最特殊的,Java打着"尽量减少IO类的设计理念",搞出了目前应该是最复杂的一套IO相关类,并称之为Java流. 对于新 ...

  8. 【java面试题】Java面试宝典2013版(超长版),抽象类是否可继承实体类

    一. Java基础部分......................................................................................... ...

  9. Java开发必须掌握的5种加密策略

    转载自 Java开发必须掌握的5种加密策略 本文总结自<大型电商分布式系统实践--第四课>.文末给出获取全套PPT及视频的方式. 一.数字摘要 数字摘要也称为消息摘要,它是一个唯一对应一个 ...

  10. java 操作accdb_使用Java创建Access数据库文件(.mdb或.accdb)

    小编典典 Jackcess 2.x的更新:现在使用来创建(或打开)DatabaseBuilder数据库,因此我们要创建一个新的数据库文件 import java.io.File; import jav ...

最新文章

  1. Java程序 实验小全
  2. Scut游戏服务器引擎6.1.5.6发布,直接可运行,支持热更新
  3. PHP函数处理方法总结
  4. NOIP2017洛谷P3953:逛公园(分层图最短路、dp、拓扑)
  5. mvc 怎么把后台拼接好的div写到前台_MVC 从后台页面 取前台页面传递过来的值的几种取法...
  6. java加载jdbc驱动,加载JDBC驱动
  7. Pandas文件读取详解
  8. mysql date 索引_SQL 中 IS NULL 可以走索引
  9. 01_3基带传输的常用码型和码间串扰
  10. mysql复制一行sql语句_MySQL复制表数据操作sql语句
  11. discuz模板机制解析
  12. 安卓虚拟pc悬浮键盘_PC端鼠标vs手机端手势:两种交互有何异同点?
  13. HDU 5956 The Elder(树型DP+斜率优化)
  14. 2022年财务顾问FA行业研究报告
  15. mac linux网卡驱动下载官网下载,linux | 网卡驱动
  16. 计算机从图灵到冯诺依曼,电脑是谁发明的 冯·诺依曼和图灵(两人都起到了重要作用)...
  17. FairyGUI-GComponent组件
  18. Amazon Aurora Serverless v2 正式发布:瞬时扩展应对高要求的工作负载
  19. 3.Spark的安装(华为云学习笔记,Spark编程基础,大数据)
  20. tools:ignore=Suspicious0dp

热门文章

  1. appscan 历史版本下载
  2. 浅谈工业4.0时代,深信服adesk桌面云如何助力智能工厂.
  3. 易语言大漠透明图制作与使用
  4. 百灵欧拓O2O移动广告平台
  5. Excel 闪退及老是提示内存不足情况实测解决方法
  6. 华北电力大学微型计算机,华北电力大学 微机原理与应用
  7. TongWeb和Tomcat的区别
  8. WindowsXP-SP2精简美化版【210M】
  9. java敏感词汇过滤工具类
  10. idea设置背景护眼色