Работа с параметрами сортировки (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) следующим образом.
В обозревателе серверов щелкните правой кнопкой мыши узел Подключения к данным и выберите пункт Добавить соединения в контекстном меню.
В диалоговом окне Добавление подключения у параметра Источник данных должно быть значение MicrosoftSQL Server Compact 4.0. Если источник данных отличается от SQL Server Compact 4.0, выполните приведенные ниже действия.
Нажмите кнопку Изменить в диалоговом окне Добавление подключения.
Выберите MicrosoftSQL Server Compact 4.0 из списка источников данных.
Если SQL Server Compact 4.0 нужно использовать по умолчанию, установите флажок Всегда использовать этот вариант.
Нажмите кнопку ОК в диалоговом окне Изменение источника данных.
В диалоговом окне Добавление подключения нажмите кнопку Создать.
В диалоговом окне Создание новой базы данных SQL Server Compact введите путь к базе данных и установите флажок С учетом регистра. По указанному пути будет создана база данных с учетом регистра.