为 SQLite v3 数据库设置密码

Set password for SQLite v3 database

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

我将 SQLite NuGet 包添加到我的项目中并使用 SQLiteStudio 创建了一个 SQLite 数据库。我重构了我的数据库对象以使用 System.Data.SQLite.SQLiteConnection 而不是 System.Data.OleDb.OleDbConnection 并且它运行良好。

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

谁能教我怎么做?提前致谢!

我在上面的评论中遵循了 the link which 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()
    

PS. 开源数据库管理器 SQLiteStudio 能够打开以这种方式受密码保护的文件,只要您选择 System.Data.SQLite 而不是 Sqlite 3 作为您的数据库类型。 (需要 v 3.1.1,当前版本)。