设置SQLite v3数据库的密码

时间:2017-01-02 11:12:46

标签: vb.net sqlite system.data.sqlite

我的应用程序使用存储在通过网络提供的文件中的数据库。到目前为止,我一直在使用 MS-Access 文件(.accdb),但我正在尝试迁移到 SQLite版本3(.db3)

我在项目中添加了SQLite NuGet包,并使用SQLiteStudio创建了一个SQLite数据库。我重构了我的数据库对象以使用System.Data.SQLite.SQLiteConnection而不是System.Data.OleDb.OleDbConnection,并且效果很好。

但是,我之前的accdb数据库受密码保护,我不知道如何在我当前的SQLite数据库上应用密码。

任何人都可以教我这么做吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我跟着the link Wudge在上面的评论中友好地指定了它,但它确实有效,但我想澄清需要做什么:

  1. 要为不受保护的数据库设置密码:

    Dim conn = New SQLite.SQLiteConnection(
        "Data Source=C:\yourFolder\yourDB.db3;Version=3;")
    conn.Open()
    conn.ChangePassword("password")
    conn.Close()
    
  2. 打开受密码保护的数据库:

    Dim conn = New SQLite.SQLiteConnection(
        "Data Source=C:\yourFolder\yourDB.db3;Version=3;")
    conn.SetPassword("password")
    conn.Open()
    conn.Close()
    

    Dim conn = New SQLite.SQLiteConnection(
        "Data Source=C:\yourFolder\yourDB.db3;Version=3;Password=password;")
    conn.Open()
    conn.Close()
    
  3. 从受密码保护的数据库中删除密码:

    Dim conn = New SQLite.SQLiteConnection(
        "Data Source=C:\yourFolder\yourDB.db3;Version=3;Password=password;")
    conn.Open()
    conn.ChangePassword(String.Empty)
    conn.Close()
    
  4. PS。开源数据库管理员SQLiteStudio能够以这种方式打开受密码保护的文件,只要您选择System.Data.SQLite而不是{{1作为您的数据库类型。 (需要v 3.1.1,当前版本)。