2015-10-14 7 views
0

У меня есть простой текстовый db, который я использую с моим приложением для Android. Этот db явно не зашифрован, и он является функциональным (поскольку я часто его использую с моим приложением Android и, как я могу его открыть, например, с помощью браузера sqlite)Параметр KEY делает возврат ATTACH DATABASE Ошибка: файл зашифрован или не является базой данных

Однако попытка открыть его с помощью 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. Открытие моего db с помощью текстового редактора работает, и, как он начинается с SQLite format 3 и содержит видимые данные, я уверен, что он еще не зашифрован. Благодарю.

ответ

0

Мой плохой. Ошибка исходила из того, как я дал свой db в качестве параметра при запуске.

Убедитесь, что вы начинаете sqlcipher этот путь:

sqlcipher MyAlreadyExistingDb.db 

После расположен на хорошей папке.