为 SQLite v3 数据库设置密码

VBo*_*Cat 1 vb.net sqlite system.data.sqlite

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

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

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

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

VBo*_*Cat 5

我也跟着链接Wudge上述评论亲切任命,和它的作品,但我宁愿澄清需要做的工作:

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

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

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

    或者

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

    Dim conn = New SQLite.SQLiteConnection(
        "Data Source=C:\yourFolder\yourDB.db3;Version=3;Password=password;")
    conn.Open()
    conn.ChangePassword(String.Empty)
    conn.Close()
    
    Run Code Online (Sandbox Code Playgroud)

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