![](/img/trans.png)
[英]Cannot access Sqlite Database (of Firefox) using System.Data.Sqlite
[英]System.Data.SQLite - cannot access an encrypted database
我在DB Browser for SQLite 中为我的数据库设置了一个加密密钥,现在我无法在 C# 中访问它。
这是相关的代码:
private SQLiteConnection connection;
public DbManager()
{
connection = new SQLiteConnection("Data Source=DB\\gamedb.encrypted.sqlite;Password=p4ssw0rd;Version=3;");
connection.Open();
}
下面的SQLiteCommand
抛出异常:“文件已加密或不是数据库”。
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;
}
DB 浏览器中指定的密钥与密码不同吗?
我决定通过编码来处理设置密码,它有效。 我创建了一个用于设置/清除密码的新项目。
这是代码:
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.