Параметр KEY make ATTACH DATABASE возвращает ошибку: файл зашифрован или не является базой данных
У меня есть простой текстовый БД, который я использую с моим приложением для Android. Эта БД явно не зашифрована, и она функциональна (так как я часто использую ее с моим приложением для Android, и, как я могу открыть ее, например, с помощью браузера sqlite)
Однако попытка открыть его с помощью sqlcipher не работает.
Я пытаюсь этот код:
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'testkey';
sqlite> SELECT sqlcipher_export('encrypted');
sqlite> DETACH DATABASE encrypted;
Но я автоматически получаю Error: file is encrypted or is not a database
сообщение об ошибке... Кажется, что KEY
параметр виноват, так как он работает без. Но мне нужно это, чтобы зашифровать мою БД. любая идея?
я использую sqlcipher 2.2.1-2ubuntu2
, Открытие моей БД с помощью текстового редактора работает, и как это начинается с SQLite format 3
и содержит видимые данные, я уверен, что он еще не зашифрован. Благодарю.
1 ответ
Виноват. Ошибка исходила от того, как я дал свою базу данных в качестве параметра при запуске.
Убедитесь, что вы начинаете sqlcipher
сюда:
sqlcipher MyAlreadyExistingDb.db
После размещения в хорошей папке.