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。
下列規則會套用至連接字串:
除了放在值或引號中的空白字元以外,所有的空白字元都會被忽略。
關鍵字值配對必須以分號 (;) 隔開。如果值中含有分號,則此分號也必須以引號分隔。
不支援任何逸出序列。
與值型別無關。
名稱不區分大小寫。
如果屬性名稱在連接字串中出現一次以上,則會使用與最後一個屬性名稱相關聯的數值。
值可以由單引號或雙引號分隔 (例如 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");