Share via


SqlCeConnection.ConnectionString 屬性

取得或設定用來開啟資料庫的字串。

命名空間:  System.Data.SqlServerCe
組件:  System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)

語法

'宣告
Public Overrides Property ConnectionString As String
    Get
    Set
'用途
Dim instance As SqlCeConnection
Dim value As String

value = instance.ConnectionString

instance.ConnectionString = value
public override string ConnectionString { get; set; }
public:
virtual property String^ ConnectionString {
    String^ get () override;
    void set (String^ value) override;
}
abstract ConnectionString : string with get, set
override ConnectionString : string with get, set
override function get ConnectionString () : String
override function set ConnectionString (value : String)

屬性值

型別:System.String
.NET Compact Framework Data Provider for SQL Server Compact 連接字串,其中包含資料來源名稱和建立初始連接所需的其他參數。預設值為空字串。

實作

IDbConnection.ConnectionString

例外狀況

例外狀況 條件
ArgumentException

提供無效的連接字串引數。

備註

只能在連接關閉時設定 ConnectionString 屬性。許多連接字串值具有對應的唯讀屬性。當設定連接字串時,會更新所有這些屬性 (偵測到錯誤時除外)。在這個情況下,不會更新任何屬性。SqlCeConnection 屬性只傳回那些包含於 ConnectionString 中的設定。

在關閉的連接上重設 ConnectionString 會重設所有的連接字串值和相關的屬性,包括密碼。

下表列出 SQL Server Compact 中支援的 ConnectionString 屬性。

屬性

說明

data source -或- datasource

SQL Server Compact 資料庫的檔案路徑和名稱。若要指示從應用程式目錄到此資料庫的相對路徑,請使用資料來源 = |DataDirectory| (以管線符號括住) 替代字串。請使用 AppDomain 物件上的 SetData() 方法來設定應用程式的資料目錄。裝置不支援 DataDirectory。如需詳細資訊,請參閱<在桌上型電腦上安裝及部署 (SQL Server Compact)>。

Password -或- Pwd -或- database password -或- ssce:database password

資料庫密碼,密碼長度最多為 40 個字元。若未指定,則預設值為無密碼。如果您在資料庫上啟用加密 (Encryption),則此為必要屬性。如果指定了密碼,會自動在資料庫上啟用加密。如果您指定了空白的密碼,資料庫不會加密。

ssce:enlist

enlist

根據預設,enlist 值為 false。此值可以設定為 true。如果是藉由使用設定為 true 的 Enlist 來開啟 SQL Server Compact 的連接,則該連接會升級為交易。

ssce:encryption mode

encryption mode

這個屬性的值為

引擎預設值

平台預設值

預設為平台預設值。

附註附註
此屬性為資料庫建立期間選項,連接至現有資料庫時會遭忽略。

Encrypt-或-encrypt database -或-ssce: encrypt database

布林值 (Boolean),判斷資料庫是否加密。若要啟用加密,必須設定為 true,或設定為 false 則不加密。如果未指定,則預設值為 false。如果啟用了加密,您也必須以 password 屬性來指定密碼。如果指定了密碼,不論您如何設定這個屬性,都會啟用加密。

附註附註
此屬性為資料庫建立期間選項,連接至現有資料庫時會遭忽略。如果已指定 SSCE:Database 密碼,不論是否指定 SSCE:Encrypt Database,資料庫都會加密。

max buffer size -或- ssce:max buffer size

SQL Server Compact 在開始清除磁碟的變更之前,所能使用的最大記憶體量 (以 KB 為單位)。如果未指定,則預設值為 640。

max database size -或- ssce:max database size

資料庫大小的最大值 (以 MB 為單位)。如果未指定,則預設值為 128。

Mode -或- file mode -或- ssce:mode

開啟資料庫檔案時使用的模式。如需有效值,請參閱下表。如果未指定,則預設值是「讀寫」。

default lock timeout-或-ssce: default lock timeout

交易將等待鎖定的預設毫秒數。如果未指定,則預設值為 2000。

default lock escalation -或- ssce:default lock escalation

嘗試從資料列擴大為頁面,或從頁面擴大為資料表之前,交易將取得的鎖定數目。如果未指定,則預設值為 100。

flush interval -或- ssce:flush interval

指定將所有認可的交易清除至磁碟之前的間隔時間 (以秒為單位)。如果未指定,則預設值為 10。

autoshrink threshold -或- ssce:autoshrink threshold

在開始自動壓縮之前,資料庫檔案中允許的可用空間百分比。值 100 會停用自動壓縮。如果未指定,則預設值為 60。

temp path -或- temp file directory -或- ssce:temp file directory

暫存資料庫的位置。如果未指定,預設是使用資料來源屬性中為暫存儲存區所指定的資料庫。

暫存檔案大小的最大值

暫存資料庫檔案的最大大小 (以 MB 為單位)。如果未指定,則預設值為 128。

保存安全性資訊

當設定為 false 時 (強烈建議使用),如果連接目前開啟或曾經處於開啟狀態,則連接中不會傳回安全性敏感資訊 (如密碼)。重設連接字串會將所有包含密碼的連接字串值重設。預設值為 false。

locale identifier -或- Lcid -或- initial lcid

與資料庫搭配使用的地區設定 ID (LCID)。有效的 LCID 值會列於 CultureInfo 類別。

附註附註
此屬性為資料庫建立期間選項,連接至現有資料庫時會遭忽略。

Case Sensitive-或-CaseSensitive

布林值,判斷資料庫定序是否區分大小寫。若要啟用定序區分大小寫,必須設定為 true,或設定為 false 則定序不區分大小寫。如果未指定,則預設值為 false。如果您以連接字串中的 "Case Sensitive" 屬性連接至現有的 SQL Server Compact 資料庫,SQL Server Compact 3.5 SP1 會忽略這項設定。

附註附註
此屬性為資料庫建立期間選項,連接至現有資料庫時會遭忽略。

下表顯示連接字串之 mode 屬性的有效值。

Value

定義

讀寫

允許多個處理序開啟和修改資料庫。如果未指定 mode 屬性,這就是預設值。

唯讀

允許您開啟資料庫的唯讀複本。

獨佔

不允許其他處理序開啟或修改資料庫。

共用讀取

開啟資料庫時,允許其他處理序讀取,但不可修改資料庫。

當設定屬性時,執行連接字串的初步驗證。當應用程式呼叫 Open 方法時,將完整地驗證連接字串。如果連接字串包含不支援或無效的屬性,這時候就會產生執行階段例外狀況,例如 ArgumentException

下列規則會套用至連接字串:

  1. 除了放在值或引號中的空白字元以外,所有的空白字元都會被忽略。

  2. 關鍵字值配對必須以分號 (;) 隔開。如果值中含有分號,則此分號也必須以引號分隔。

  3. 不支援任何逸出序列。

  4. 與值型別無關。

  5. 名稱不區分大小寫。

  6. 如果屬性名稱在連接字串中出現一次以上,則會使用與最後一個屬性名稱相關聯的數值。

  7. 值可以由單引號或雙引號分隔 (例如 name='value' 或 name="value")。透過使用其他分隔符號,可以在連接字串內使用單引號或雙引號。例如,下列為引號在連接字串內的有效使用方式:

    "data source='MyDb.sdf'; mode=Exclusive;"
    'data source="MyDb.sdf"; mode=Exclusive;'
    

    但以下範例則是無效的使用方式:

    "data source="MyDb.sdf"; mode=Exclusive;"
    'data source='MyDb.sdf'; mode=Exclusive;'
    

範例

下列範例會建立 SqlCeConnection 並在連接字串中設定其部分屬性。

Dim conn As New SqlCeConnection()

' Set some connection string properties e.g.:
' 
conn.ConnectionString = _
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" & _
    "Password = '<password>'; File Mode = 'shared read'; " & _
    "Max Database Size = 256; Max Buffer Size = 1024"

conn.Open()

' You can change the database while preserving 
' the orignal connection options
'
conn.ChangeDatabase("SupportData.sdf")
SqlCeConnection conn = new SqlCeConnection();

// Set some connection string properties e.g.:
// 
conn.ConnectionString = 
    "Persist Security Info = False; Data Source = 'SalesData.sdf';" +
    "Password = '<password>'; File Mode = 'shared read'; " +
    "Max Database Size = 256; Max Buffer Size = 1024";

conn.Open();

// You can change the database while preserving 
// the orignal connection options
//
conn.ChangeDatabase("SupportData.sdf");

請參閱

參考

SqlCeConnection 類別

System.Data.SqlServerCe 命名空間

其他資源

從舊版升級 (SQL Server Compact)