共用方式為


使用密碼保護資料庫

SQL Server Compact Database Engine 可讓您強制執行在存取本機資料庫時,必須提供密碼的動作。在 SQL Server Compact 中,會為受保護的資料庫建立一個密碼。但不會為資料庫的每一位使用者建立密碼。SQL Server Compact 資料庫的密碼應該為增強式密碼。密碼應該包含下列特性:

  • 最長可含 40 個字元。

  • 可包含字母、符號、數字或這三者的組合。

  • 無法復原。

注意

密碼無法防止以純文字的方式讀取資料庫檔案中的任何資料。同時使用加密和密碼,可用加密格式儲存資料,並限制以程式設計的方式存取資料庫。

建立密碼保護的資料庫

在建立資料庫時提供密碼屬性,就可以建立密碼保護的資料庫。密碼保護的資料庫可用下列方法建立︰

  • 使用 SQL 語法

    若要透過 SQL 語法建立密碼保護的資料庫,請在 CREATE DATABASE 陳述式中指定資料庫密碼。密碼必須跟隨在 DATABASEPASSWORD 關鍵字之後,並用單引號括起來,如下列範例所示︰

    CREATE DATABASE "secure.sdf" 
    DATABASEPASSWORD '<enterStrongPasswordHere>'
    
  • 使用 ADO.NET

    若要使用 SqlCeEngine.CreateDatabase 方法建立密碼保護的資料庫,必須在連接字串中指定密碼屬性,如下列範例所示︰

    "data source=\ssce.sdf; password=<enterStrongPasswordHere>"
    

    如需詳細資訊,請參閱 Visual Studio 中 .NET Compact Framework 軟體開發套件 (SDK) 的 System.Data.SqlServerCe.SqlCeEngine 類別。

  • 使用 OLE DB

    若要使用 SQL Server Compact 的 OLE DB 提供者建立加密的資料庫,您必須使用提供者特定的屬性 DBPROP_SSCE_ENCRYPTIONMODE 指定加密模式,並且使用提供者特定的屬性 DBPROP_SSCE_DBPASSWORD 指定密碼。

存取密碼保護的資料庫

開啟密碼保護的資料庫時,必須提供密碼。密碼保護的資料庫可用下列方法存取︰

  • 使用 SQL Server Compact 的資料提供者

    若要使用 SqlCeConnection.Open 方法存取密碼保護的資料庫,必須在連接字串中指定密碼屬性。例如:

    "data source=\ssce.sdf; password=<enterStrongPasswordHere>"
    

    如需詳細資訊,請參閱 Visual Studio 中 .NET Compact Framework SDK 的System.Data.SqlServerCe.SqlCeConnection 類別。

  • 使用 OLE DB

    SQL Server Compact 支援檔案層級存取控制機制,這需要提供密碼才可以存取密碼保護的 SQL Server Compact 資料庫。每次開啟資料庫時,都必須提供此密碼。使用提供者特定屬性集 DBPROPSET_SSCE_DBINIT 中的 DBPROP_SSCE_DBPASSWORD 屬性來指定此密碼。建立資料庫時,可利用此屬性來指定資料庫的密碼。加密的資料庫永遠受到密碼保護。