2014-09-17 3 views
0

После тяжелой работы мне удалось создать sqlcipher с помощью Qt на ubuntu. Драйвер обнаруживается и загружается и отлично работает с незашифрованной базой данных. Проблема заключается в том, что я пытаюсь выполнить какой-либо конкретный SQL-код для шифрования, когда он не работает. Скажем, запрос, который он терпит неудачу, это «sqlcipher_export (« dummyDB »)».Qt sqlcipher на ubuntu

Прежде всего нужно шифровать существующую базу данных, так что я сделать следующее:

SUCCESS -> ATTACH DATABASE '/home/costy/test.db.tmp' AS dummy KEY 'foo' 

FAILE -> SELECT sqlcipher_export('dummy') 

У меня есть этот проект, работающий на Windows, с вне проблемами более, что 2-х лет, и теперь было решено сделать версию Linux также, но этот вопрос держит меня.

-

Кстати есть еще один пост с просьбой о но я не могу комментировать там Build sqlcipher on ubuntu

Проблема там отсутствует библиотека OpenSSL

cannot find -lcrypto -> sudo apt-get install libssl-dev 

Другая распространенная ошибка не хватает SQLite библиотеки

cannot find -lsqlite3 -> sudo apt-get install libsqlite3-dev 

Спасибо

ответ

0

Вы можете проверить, правильно ли ваш драйвер использует SQLCipher, запросив текущую версию SQLCipher во время выполнения. Это может быть достигнуто, выполнив следующую команду:

PRAGMA cipher_version; 

Это может быть так, что sqlcipher_export('…'); терпит неудачу, потому что водитель Qt не был должным образом построен с SQLCipher и вы можете просто нагружать SQLite вместо этого.

+0

Вы правы, что загружен неправильный драйвер. «PRAGMA cipher_version»; возвращает NULL. Благодаря... –

Смежные вопросы