我正在使用ZeosDB组件访问sqlite数据库。它在未加密的数据库上运行良好。
在我收到的加密数据库上:文件已加密或不是数据库。如果我设置了密码,则为Eaven。
我使用的DLL文件错了吗?我使用the official page中的最后一个dll。默认情况下它不支持加密?
答案 0 :(得分:4)
SQLite3上有several encryption schemes。
其中,你有:
sqlite3.dll
,因此它有助于简化部署和支持 - 它可以轻松切换到MS SQL,Oracle或OleDB / ODBC,使用相同的源代码,从Delphi 5到XE3,并且great speed; ZeosDB SQLite3级别不处理它们。
SQlite3 API驱动程序(单元ZPlainSqLiteDriver)不包含加密。所以你必须改变它。或者切换到另一个支持加密API的包装器。
答案 1 :(得分:3)
最近我遇到了同样的问题(使用UniDac)。官方DLL不支持加密。有几个库包含加密,但它们不可互换。即使用一个SQLite DLL加密的数据库无法使用其他分发进行解密。我认为你的情况是一样的。
我的解决方案是:
这样DBMS使用新的DLL加密,你的程序可以使用相同版本的DLL解密它。
您还可以查看:
注意: