2016-10-15 4 views
1

Ich habe einen Verschlüsselungsschlüssel für meine Datenbank in DB Browser for SQLite festgelegt und kann jetzt nicht in C# darauf zugreifen.System.Data.SQLite - kann nicht auf eine verschlüsselte Datenbank zugreifen

Hier ist der entsprechende Code:

private SQLiteConnection connection; 

    public DbManager() 
    { 
     connection = new SQLiteConnection("Data Source=DB\\gamedb.encrypted.sqlite;Password=p4ssw0rd;Version=3;"); 
     connection.Open(); 
    } 

Die SQLiteCommand unten eine Ausnahme auslöst: „Datei verschlüsselt ist oder ist keine Datenbank“.

public Dictionary<string, string> ReadMaps() 
    { 
     SQLiteDataReader reader = new SQLiteCommand("select * from Map", connection).ExecuteReader(); 
     Dictionary<string, string> res = new Dictionary<string, string>(); 
     while (reader.Read()) 
      res[(string)reader["Name"]] = (string)reader["Data"]; 
     return res; 
    } 

Ist der im DB-Browser angegebene Schlüssel anders als ein Passwort?

+0

Hast du in der Tat encrypt es irgendwann? Die Verwendung eines PW auf einer unverschlüsselten DB-Datei schlägt das gleiche wie eine falsche PW – Plutonix

+0

Ich bin mir nicht sicher, ich dachte, die Einstellung des Verschlüsselungsschlüssels würde die Datei verschlüsselt haben – mkkekkonen

+0

Wo machst du das mit DBBrowser? Ich habe noch nie gefunden, wo man es über die Verschlüsselung PW – Plutonix

Antwort

1

Ich entschied mich für die Einstellung des Kennworts durch Codierung, es funktioniert. Ich habe ein neues Projekt zum Einstellen/Löschen des Passworts erstellt.

Hier ist der Code:

SQLiteConnection conn; 

    // (code omitted) 

    private void setPwButton_Click(object sender, EventArgs e) 
    { 
     if (!String.IsNullOrEmpty(passwordTextBox.Text)) 
      conn.ChangePassword(passwordTextBox.Text); 
     else 
      MessageBox.Show("Please specify a password!"); 
    } 

    private void clearPwButton_Click(object sender, EventArgs e) 
    { 
     conn.ChangePassword(String.Empty); 
    } 
Verwandte Themen