2013-10-07 31 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