最近,我一直在使用(测试)两种解决方案从Access(MDB文件)获取一些数据。我发现Jackcess不需要密码来访问数据库的数据,而UCanAccess仅在我插入密码时才有效(如果数据库有)。
那么,wtf真的发生了吗?如果Jackcess是UCanAccess的依赖项,为什么需要密码?或者为什么Jackcess也不需要密码?
谢谢!
答案 0 :(得分:2)
将数据库密码分配给旧格式的.mdb数据库时,该文件实际上并未加密。 (较旧版本的MS Access应用程序有一个单独的选项来加密文件,但即使这种保护也很弱。)
如果文件未加密,则Jackcess不需要密码即可打开它。实际上,Jackcess提供了一种从未加密的(但是“密码保护的”.mdb文件中检索数据库密码的方法。
正如您对问题的评论中所建议的,UCanAccess开发团队决定与其他更高级别的数据访问方法保持一致,并要求用户在打开数据库时提供正确的密码。如果你真的想避免将数据库密码编码到UCanAccess应用程序中,那么你总是可以
请注意,将数据库密码应用于较新格式的.accdb数据库时,文件 已加密,因此Jackcess和UCanAccess都需要正确的密码(以及附加组件“Jackcess Encrypt”) ,加上依赖项)打开它。