Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметры сортировки определяют правила, по которым строки или символьные данные сортируются и сравниваются между собой в соответствии с нормами определенного языка и локалями.
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 (программно).