2013-12-26 4 views
1

Меня злит, что я с ума сошел. Я искал последние 1 неделю для решения, и я не могу найти его. Я успешно создал базу данных с использованием System.Data.SQLite из visual studio, и все отлично работало, пока я не решил использовать пароль.Открыть файл Sqlite db с паролем

string dbPath = AppDomain.CurrentDomain.BaseDirectory; 
     databaseCredentials.dbPath = Path.Combine(dbPath, "database.db"); 
     string connectionString = "Data Source= " + databaseCredentials.dbPath + ";Version=3;Password= " + "test" + ";"; 

     Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~Dimiourgia Vasis~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); 
     //databaseCredentials.db = new SQLiteConnection("Data Source=" + databaseCredentials.dbPath); 
     databaseCredentials.db = new SQLiteConnection(connectionString); 
     databaseCredentials.db.Open(); 

Как вы можете видеть, я установил пароль «test». Программа отлично работает с db.open(), db читается, и я вижу таблицы в обычном режиме.

Когда я хочу прочитать db-файл из оболочки sqlite3, он говорит: Ошибка: файл зашифрован или не является базой данных, которая, как я ожидала, будет выполняться по мере ее защиты.

И вот мой главный вопрос. Как открыть файл db сейчас из оболочки, чтобы я мог справиться с ним, используя команды sql, если я захочу ...? Где я могу поставить пароль «test», который я установил выше?

+0

Duplicate? http://stackoverflow.com/questions/1381264/password-protect-a-sqlite-db-is-it-possible – schoetbi

ответ

1

SQLite не поддерживает шифрование.

System.Data.SQLite предоставляет это расширение через EFS с версии 1.0.17 и через 128-битную шифрование пейджера RC4 с версии 1.0.24.3.

Посмотрите на SEE, чтобы включить шифрование в оболочке SQLite3.

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