照合順序の使用 (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) を使用して、データベース照合順序で大文字と小文字を区別するかどうかを指定できます。ネイティブ プログラミングでは、新しいプロパティ DBPROP_SSCE_DBCASESENSITIVE によって、データベース照合順序で大文字と小文字を区別するかどうかを指定します。このプロパティは、DBPROPSET_SSCE_DBINIT プロパティ セットの一部です。

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

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

大文字と小文字を区別するデータベースは、次のように Visual Studio 2010 SP1 を使用して作成することもできます。

  1. サーバー エクスプローラーで、[データ接続] ノードを右クリックして、状況依存メニューの [接続の追加] をクリックします。

  2. [接続の追加] ダイアログ ボックスで、[データ ソース] が MicrosoftSQL Server Compact 4.0 になっていることを確認します。データ ソースが SQL Server Compact 4.0 でない場合は、次の手順に従います。

    • [接続の追加] ダイアログ ボックスで [変更] をクリックします。

    • データ ソースとして MicrosoftSQL Server Compact 4.0 を選択します。

    • SQL Server Compact 4.0 を既定で使用する場合は、[常にこれを選択する] チェック ボックスをオンにします。

    • [データ ソースの変更] ダイアログ ボックスで [OK] をクリックします。

  3. [接続の追加] ダイアログ ボックスで [作成] をクリックします。

  4. [SQL Server Compact データベースの新規作成] ダイアログ ボックスで、データベース パスを入力して、[大文字と小文字を区別する] チェック ボックスをオンにします。指定した場所に作成されるデータベースが、大文字と小文字を区別するデータベースになります。

関連項目

概念

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