Как я могу получить доступ к зашифрованной базе данных sqlite?
Я пытаюсь создать программу, которая взаимодействует с базой данных SQLite, зашифрованной паролем. Если я попробую с БД без какого-либо пароля она работает, но с базой данных с паролем, после подключения, при выполнении запроса она выдает ошибку "файл не является базой данных". У вас есть какой-нибудь совет?
Что я уже пробовал:
using Microsoft.Data.Sqlite; using System; using System.Data.SQLite; ... string conn = "Data Source=C:\\Users\\Utente\\Desktop\\SQLite\\sqlite tools\\DB\\provapassword.db;"; SqliteConnection sql_conn = new SqliteConnection(conn); sql_conn.Open(); Console.WriteLine("Connected to provapassword"); var cmd = sql_conn.CreateCommand(); cmd.CommandText = "SELECT quote($password);"; cmd.Parameters.AddWithValue("$password", "prova"); var quotedPassword = (string)cmd.ExecuteScalar(); cmd.CommandText = "PRAGMA key = " + quotedPassword; cmd.Parameters.Clear(); cmd.ExecuteNonQuery(); try { //INSERT string query = "INSERT INTO nomi values(10, \"AAA\")"; cmd.CommandText = query; if (cmd.ExecuteNonQuery() != 0) Console.WriteLine("OK"); else Console.WriteLine("Error"); sql_conn.Close(); Console.WriteLine("Connection close"); } catch (Exception e) { Console.WriteLine(e.Message.ToString()); }