2013-10-07 35 views
1

我有我一直在使用System.Data.Sqlite.dll.NET Windows应用程序创建一个密码保护的数据库。获得从加密的SQLite数据库的数据sqlite3.exe

现在我想编写一个脚本以使用sqlite3.exe.从该数据库获取数据如何使用sqlite3.exe提供密码并从该数据库获取数据?如果我直接使用select命令,则会报错:"Error: file is encrypted or is not a database"

回答

0

通过sqlite.exe打开数据库后,在发出任何其他SELECT/etc之前使用PRAGMA KEY。声明:

PRAGMA KEY="MyPassword"; 

编辑: 它看起来像System.Data.Sqlite.dll不使用在许多SQLite的二进制文件中发现的半标准的加密代码。相反,它使用Windows Crypto API。 上述答案不起作用。

+0

嗨NuSkooler,我试过你的建议,但它没有奏效。它给出了同样的错误消息,说文件被加密或不是数据库。 – user1140366

+0

更新了我的答案。如果我有时间,我会更新它。它看起来像你需要的是针对Windows Crypto API编译的sqlite.exe。 – NuSkooler