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

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

SQL Server Compact поддерживает параметры сортировки Windows. Список имен параметров сортировки Windows, поддерживаемых в SQL Server Compact, см. разделе Поддерживаемые параметры сортировки (SQL Server Compact).  

Начиная с выпуска SQL Server Compact 3.5 с пакетом обновления 1 (SP1), в SQL Server Compact поддерживаются также параметры сортировки с учетом регистра. Учет регистра задается на уровне базы данных. Другими словами, все строковые столбцы (столбцы с типом данных nchar, nvarchar, и ntext) в пользовательских таблицах базы данных имеют такие же настройки учета регистра, какие заданы на уровне базы данных. Кроме того, индексы в строковых столбцах имеют те же настройки учета регистра, какие заданы на уровне базы данных.

Такие имена объектов, как имена таблиц, функций, представлений, ключевые слова языка, не обрабатываются в базе данных SQL Server Compact с учетом регистра, даже если параметры сортировки учитывают регистр. Эта функция не согласуется с SQL Server, но такое поведение согласуется со стандартом SQL, указывающим, что параметры сортировки используются только для сравнения пользовательских данных.

Соединение с базами данных, учитывающими регистр

К базе данных SQL Server Compact с учетом регистра можно подключиться, так же как к любой другой базе данных SQL Server Compact.

Начиная с выпуска SQL Server Compact 3.5 с пакетом обновления 1 (SP1), в SQL Server Compact новое свойство типа Boolean строки подключения «Case Sensitive» или «SSCE:Case Sensitive» можно использовать для определения, учитывают ли параметры сортировки базы данных регистр. Во время соединения с существующей базой данных SQL Server Compact со свойством «Case Sensitive» в строке подключения SQL Server Compact 3.5 с пакетом обновления 1 (SP1) не учитывает этот параметр. Другими словами, свойство «Case Sensitive» является параметром времени создания базы данных и не учитывается при соединении с существующей базой данных. Если учет регистра не указан при создании базы данных, по умолчанию создается база данных, учитывающая регистр.

Свойство «Case Sensitive» является новым, появившимся в SQL Server Compact 3.5 с пакетом обновления 1 (SP1), и не поддерживается в более ранних версиях.

Создание баз данных с учетом регистра

SQL Server Compact поддерживает указание параметров сортировки с учетом регистра для новых баз данных только через вызовы API. Эта функция поддерживается только в SQL Server Compact 3.5 с пакетом обновления 1 (SP1) и более поздних версиях.

Новое свойство типа 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 (без учета регистра).

Важно!

Если создается база данных с параметрами сортировки с учетом регистра, ее нельзя открыть в прежних выпусках SQL Server Compact, включая SQL Server Compact 3.5.

Репликация слиянием и параметры сортировки с учетом регистра

Издатели SQL Server и подписчики SQL Server Compact поддерживают репликацию слиянием независимо от настроек учета регистра. В целях обратной совместимости явно не блокируется ни один сценарий.

Версия SQL Server Compact 3.5 поддерживает репликацию баз данных SQL Server Compact, учитывающих регистр, как в серверных базах данных с учетом регистра, так и без учета регистра. В следующей таблице приводятся все возможные сценарии.

Учет регистра клиентской базы данных SQL Server Compact

Учет регистра базы данных SQL Server

Поддерживается

CI (без учета регистра)

CI

Да

CI

CS (с учетом регистра)

Да

CS

CS

Да

CS

CI

Да

Дополнительные сведения о репликации слиянием см. в разделе Использование репликации слиянием. Дополнительные сведения о создании базы данных, учитывающей регистр, с помощью объекта Replication см. в разделе Как создать базу данных с помощью объекта Replication (программно).

См. также

Другие ресурсы

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