我正在用sqlite数据库处理Windows应用程序.NET 2.0,我的连接字符串保持在app.config中,就像

<connectionStrings>
<add name="SQLiteDB" 
     connectionString="Data Source=|DataDirectory|database.s3db;version=3;password=mypassword;" 
     providerName="System.Data.Sqlite"/>
</connectionStrings>

在连接字符串中,我已将密码定义为“mypassword”。如果删除此密码,所有内容都正常工作,但当我使用password子句时,它会在connection.open()语法中给出错误,即
File opened that is not a database file
file is encrypted or is not a database

我在网上搜索到了一些版本问题,但是我使用的是版本3,正如我在连接字符串中所说的那样,我还尝试删除“version=3”,但问题仍然存在。
我是第一次这么做的,解决方法是什么?

最佳答案:

ChangePassword()
// Opens an unencrypted database    
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");    
cnn.Open();    

// Encrypts the database. The connection remains valid and usable afterwards.    
cnn.ChangePassword("mypassword");

参考:Encrypting, decrypting and attaching to encrypted databases