使用定序 (SQL Server Compact)
定序會根據特定語言和地區設定的規範,指定如何儲存和比較字元資料字串的一些規則。
SQL Server Compact 提供 Windows 定序的支援。如需 SQL Server Compact 中支援的 Windows 定序名稱清單,請參閱<支援的定序 (SQL Server Compact)>。
SQL Server Compact 4.0 支援區分大小寫的定序。區分大小寫的設定位於資料庫層級。換句話說,資料庫內使用者資料表內的所有字串資料行 (資料類型 nchar、nvarchar和 ntext 的資料行) 所具有的大小寫設定與資料庫層級上指定的設定相同。此外,字串資料行上的索引所具有的大小寫設定也與資料庫層級上指定的設定相同。
物件名稱 (如資料表名稱、語言關鍵字、函數和檢視表) 在 SQL Server Compact 資料庫內不會被視為區分大小寫,即使定序可區分大小寫亦然。這項功能與 SQL Server 不一致,但是這個行為與 SQL 標準一致 (指定資料庫的定序只會用於使用者資料的比較)。
連接到區分大小寫的資料庫
您可以連接到任何區分大小寫的 SQL Server Compact 資料庫,就像是連接到其他任何 SQL Server Compact 資料庫一樣。
SQL Server Compact 4.0 會提供新 Boolean 連接字串屬性 "Case Sensitive" 或 "SSCE:Case Sensitive" 的支援,以判斷資料庫定序是否區分大小寫。如果您嘗試連接至現有的 SQL Server Compact 資料庫,而且連接字串中具有 "Case Sensitive" 屬性,SQL Server Compact 4.0 會忽略這項設定。換句話說,"Case Sensitive" 屬性為資料庫建立期間的選項,當連接至現有資料庫時會予以忽略。如果當您建立資料庫時並未指定區分大小寫,預設會建立不區分大小寫的資料庫。
Case Sensitive 屬性是 SQL Server Compact 4.0 中導入的一項新功能,在任何舊版中都不支援。
建立區分大小寫的資料庫
SQL Server Compact 支援透過 API 呼叫,為新的資料庫指定區分大小寫的定序。
您可以使用新的 Boolean 連接字串屬性 "Case Sensitive" 或 "SSCE:Case Sensitive",以判斷資料庫定序是否區分大小寫。進行原生程式設計時,屬於 DBPROPSET_SSCE_DBINIT 屬性集之一部分的新屬性 DBPROP_SSCE_DBCASESENSITIVE 也會判斷資料庫定序是否區分大小寫。
當您將 Case Sensitive 設定為 true 時,便會在資料庫中重建字串資料行上的索引。
您也可以使用 CREATE DATABASE (SQL Server Compact) 陳述式的 COLLATE (SQL Server Compact) 子句,為新資料庫指定定序。不過,在此案例中,不區分大小寫 (CI) 是唯一支援的選項。
也可以使用 Visual Studio 2010 SP1 建立區分大小寫的資料庫,如下所示:
在 [伺服器總管] 中,以滑鼠右鍵按一下 [資料連接] 節點,然後從即時線上功能表中選取 [加入連接]。
在 [加入連接] 對話方塊中,確定 [資料來源] 為 MicrosoftSQL Server Compact 4.0。如果資料來源不是 SQL Server Compact 4.0,請遵循以下步驟進行:
在 [加入連接] 對話方塊中,按一下 [變更] 按鈕。
從 [資料來源] 中選取 MicrosoftSQL Server Compact 4.0。
如果您想要在預設情況下使用 SQL Server Compact 4.0,請核取 [永遠使用這個選項] 方塊。
在 [變更資料來源] 對話方塊中,按一下 [確定]。
在 [加入連接] 對話方塊中,按一下 [建立]。
在 [建立新的 SQL Server Compact 資料庫] 對話方塊中,填入資料庫路徑,然後核取 [區分大小寫] 方塊。在指定的位置建立的資料庫為區分大小寫的資料庫。