2013-10-07 3 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 используйте PRAGMA KEY перед выдачей любого дополнительного SELECT/etc. заявления:

PRAGMA KEY="MyPassword"; 

EDIT: Это выглядит как System.Data.Sqlite.dll не используют Полустандартный код шифрования найден во многих SQLite бинарных файлов. Вместо этого он использует API Windows Crypto. Вышеуказанный ответ не будет работать.

+0

Hi NuSkooler, я попробовал ваше предложение, но оно не сработало. Он дал то же сообщение об ошибке, что файл зашифрован или не является базой данных. – user1140366

+0

Обновлен мой ответ. Я обновлю его больше, если найду какое-то время. Похоже, что вам нужен sqlite.exe, скомпилированный против API Windows Crypto. – NuSkooler