照合順序の使用 (SQL Server Compact)

照合順序は、特定の言語およびロケールの規範に基づいて文字列データの並べ替えおよび比較を行うための規則を指定します。

SQL Server Compact では Windows 照合順序がサポートされています。SQL Server Compact でサポートされている Windows 照合順序名の一覧については、「サポートされる照合順序 (SQL Server Compact)」を参照してください。

SQL Server Compact 3.5 Service Pack 1 (SP1) では、データベース レベルでの照合順序の設定がサポートされています。つまり、データベース内のユーザー テーブルに含まれるすべての文字列の列 (nchar データ型、nvarchar データ型、および ntext データ型の列) で、大文字と小文字の区別に関する設定が、データベース レベルで指定された設定と同じになります。また、文字列の列のインデックスにも、大文字と小文字の区別に関してデータベース レベルで指定された設定と同じ設定が適用されます。

テーブル名などのオブジェクト名、言語キーワード、関数、およびビューは、照合順序では大文字と小文字が区別されても、SQL Server Compact データベースでは大文字と小文字が区別されません。この機能は SQL Server と異なりますが、この動作は、データベースの照合順序がユーザー データの比較に対してのみ使用される SQL 標準の規定に一致しています。

大文字と小文字が区別されるデータベースへの接続

大文字と小文字が区別される SQL Server Compact データベースには、他の SQL Server Compact データベースと同様に接続できます。

SQL Server Compact 3.5 の SP1 リリースでは、データベース照合順序で大文字と小文字を区別するかどうかを指定する Boolean 型の新しい接続文字列プロパティ "Case Sensitive" (または "SSCE:Case Sensitive") がサポートされています。既存の SQL Server Compact データベースに、接続文字列で "Case Sensitive" プロパティを指定して接続しようとすると、SQL Server Compact 3.5 SP1 ではこの設定が無視されます。つまり、"Case Sensitive" プロパティはデータベース作成時オプションであり、既存のデータベースへの接続時には無視されます。データベースの作成時に照合順序を指定しなかった場合、既定では大文字と小文字が区別されるデータベースが作成されます。

Case Sensitive プロパティは SQL Server Compact 3.5 SP1 の新機能であり、以前のバージョンではサポートされません。

大文字と小文字が区別されるデータベースの作成

SQL Server Compact 3.5 の SP1 リリースでは、新しいデータベースの大文字と小文字を区別する照合順序を API 呼び出しでのみ指定できます。

Boolean 型の新しい接続文字列プロパティ "Case Sensitive" (または "SSCE:Case Sensitive") を使用して、データベース照合順序で大文字と小文字を区別するかどうかを指定できます。同様に、新しいプロパティ DBPROP_SSCE_DBCASESENSITIVEDBPROPSET_SSCE_DBINIT プロパティ セットの一部として指定しても、データベース照合順序で大文字と小文字を区別するかどうかを指定できます。

Case Sensitive を true に設定すると、文字列の列のインデックスがデータベースで再構築されます。

CREATE DATABASE (SQL Server Compact) ステートメントの COLLATE (SQL Server Compact) 句を使用して新しいデータベースの照合順序を指定する方法もあります。この場合、使用できるオプションは CI (大文字と小文字を区別しない) オプションのみです。

Cc835498.note(ja-jp,SQL.100).gif重要 :
照合順序で大文字と小文字を区別するデータベースを作成した場合、そのデータベースを以前のリリースの SQL Server Compact (SQL Server Compact 3.5 など) で開くことはできません。

マージ レプリケーションおよび大文字と小文字を区別する照合順序

SQL Server パブリッシャおよび SQL Server Compact サブスクライバでは、大文字と小文字の区別に関する設定に関係なく、マージ レプリケーションがサポートされます。旧バージョンとの互換性をサポートするために、どのシナリオも明示的にブロックされません。

SQL Server Compact 3.5 の SP1 リリースでは、大文字と小文字が区別される SQL Server Compact データベースのレプリケーションが、大文字と小文字が区別されるサーバー データベースと区別されないサーバー データベースの両方に対してサポートされます。次の表に、想定されるすべてのシナリオを示します。

SQL Server Compact クライアント データベースでの大文字と小文字の区別 SQL Server データベースでの大文字と小文字の区別 サポート

CI (大文字と小文字を区別しない)

CI

CI

CS (大文字と小文字を区別する)

CS

CS

CS

CI

マージ レプリケーションの詳細については、「マージ レプリケーションの使用」を参照してください。Replication オブジェクトを使用して大文字と小文字が区別されるデータベースを作成する方法の詳細については、「Replication オブジェクトを使用してデータベースを作成する方法 (プログラム)」を参照してください。

参照

概念

国際化に関する注意点 (SQL Server Compact)

ヘルプおよび情報

サポートについて (SQL Server Compact 3.5 Service Pack 1)