Работа с параметрами сортировки (SQL Server Compact)

Параметры сортировки определяют правила, по которым строки или символьные данные сортируются и сравниваются между собой в соответствии с нормами определенного языка и локалями.

SQL Server Compact поддерживает параметры сортировки Windows. Список имен параметров сортировки Windows, поддерживаемых в SQL Server Compact, см. в разделе Поддерживаемые параметры сортировки (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, в базе данных перестраиваются индексы в строковых столбцах.

Еще одним способом указать параметры сортировки для новой базы данных является предложение Предложение COLLATE (SQL Server Compact) инструкции Инструкция CREATE DATABASE (SQL Server Compact). В этом случае единственным поддерживаемым параметром является CI (без учета регистра).

Базы данных с учетом регистра также можно создавать с помощью Visual Studio 2010 с пакетом обновления 1 (SP1) следующим образом.

  1. В обозревателе серверов щелкните правой кнопкой мыши узел Подключения к данным и выберите пункт Добавить соединения в контекстном меню.

  2. В диалоговом окне Добавление подключения у параметра Источник данных должно быть значение MicrosoftSQL Server Compact 4.0. Если источник данных отличается от SQL Server Compact 4.0, выполните приведенные ниже действия.

    • Нажмите кнопку Изменить в диалоговом окне Добавление подключения.

    • Выберите MicrosoftSQL Server Compact 4.0 из списка источников данных.

    • Если SQL Server Compact 4.0 нужно использовать по умолчанию, установите флажок Всегда использовать этот вариант.

    • Нажмите кнопку ОК в диалоговом окне Изменение источника данных.

  3. В диалоговом окне Добавление подключения нажмите кнопку Создать.

  4. В диалоговом окне Создание новой базы данных SQL Server Compact введите путь к базе данных и установите флажок С учетом регистра. По указанному пути будет создана база данных с учетом регистра.

См. также

Основные понятия

Вопросы международного использования (SQL Server Compact)