gpt4 book ai didi

java - 为什么 UCanAccess 需要密码而 Jackcess 不需要?

转载 作者:行者123 更新时间:2023-11-30 03:14:19 24 4
gpt4 key购买 nike

最近我一直在使用(测试)这两种解决方案来从 Access(MDB 文件)获取一些数据。我发现 Jackcess 不需要密码来 Access 数据库的数据,而 UCanAccess 仅在我插入密码时才有效(如果数据库有)。

那么,wtf真的发生了吗?如果Jackcess是UCanAccess的依赖项,为什么它需要密码?或者为什么 Jackcess 也不需要密码?

谢谢!

最佳答案

当数据库密码分配给旧格式的 .mdb 数据库时,该文件实际上并未加密。 (旧版本的 MS Access 应用程序有一个单独的选项来加密文件,但即使这种保护也相当薄弱。)

如果文件未加密,则 Jackcess 不需要密码即可打开它。事实上,Jackcess 提供了一种从未加密(但“受密码保护”).mdb 文件检索数据库密码的方法。

正如对您的问题的评论中所建议的,UCanAccess 开发团队决定与其他更高级别的数据 Access 方法保持一致,并要求用户在打开数据库时提供正确的密码。如果您确实想避免将数据库密码编码到 UCanAccess 应用程序中,那么您始终可以

  • 先用Jackcess打开数据库文件,
  • 使用 Jackcess 调用来检索数据库密码,
  • 关闭 Jackcess 与数据库的连接,然后
  • 在打开 UCanAccess 数据库连接时提供数据库密码。

请注意,当将数据库密码应用于较新格式的 .accdb 数据库时,该文件实际上已加密,因此 Jackcess 和 UCanAccess 都需要正确的密码(以及附加组件“Jackcess Encrypt”) ,加上依赖项)来打开它。

关于java - 为什么 UCanAccess 需要密码而 Jackcess 不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com