Объекты источников данных OLE DB (SQL Server Compact)

В программировании с помощью технологии OLE DB объект источника данных представляет базовое хранилище данных поставщика. Чтобы подключиться к поставщику OLE DB, потребитель должен предварительно создать и инициализировать экземпляр объекта источника данных.

Объект источника данных SQL Server Compact

Чтобы создать в MicrosoftSQL Server Compact 4.0 объект источника данных, необходимо вызвать функцию OLE CoCreateInstance и передать идентификатор класса (CLSID) поставщику OLE DB для SQL Server Compact 4.0, которым является CLSID_SQLSERVERCE. Поскольку SQL Server Compact 4.0 представляет собой внутрипроцессный сервер, экземпляры объектов OLE DB SQL Server Compact 4.0 создаются при помощи макроса CLSCTX_INPROC_SERVER, указывающего контекст исполняемого модуля.

Для указания нужного источника данных в SQL Server Compact 4.0 используется только свойство DBPROP_INIT_DATASOURCE. В это свойство передается полный путь к файлу базы данных, который требуется открыть. После того как это свойство задано, потребитель инициализирует объект источника данных. При этом создается среда, необходимая для обмена данными между потребителем и SQL Server Compact 4.0. После инициализации объекта источника данных потребитель может получать достаточные описательные сведения о хранилище данных, но не имеет доступа к данным. С помощью этого объекта источника данных можно создать один или несколько объектов сеанса. Объекты сеанса, в свою очередь, используются для создания необходимых транзакций, команд и наборов строк.

Поставщик OLE DB для SQL Server Compact 4.0 также позволяет создать новую базу данных. Дополнительные сведения см. в разделе Создание баз данных с помощью OLE DB.

Поддерживаются и базы данных с парольной защитой. Если применяется это средство защиты, то пароль должен передаваться при инициализации объекта источника данных. Дополнительные сведения см. в разделе Доступ к защищенным паролями базам данных с помощью OLE DB.

Ограничения функций объекта источника данных

Функции объекта источника данных в поставщике OLE DB для SQL Server Compact имеют некоторые ограничения.

  • Понятие каталога, как оно определено в OLE DB, в SQL Server Compact не используется. Свойство DBPROP_INIT_DATASOURCE определяет, какую базу данных следует использовать, а поставщик OLE DB для SQL Server Compact 4.0 интерпретирует эту базу данных как текущий каталог.

  • Возможность изменять текущее хранилище данных не поддерживается. Если требуется изменить хранилище данных, клиент должен отменить инициализацию объекта источника данных, задать новое имя хранилища данных и заново инициализировать объект источника данных.

Свойства источника данных, специфические для поставщика

SQL Server Compact 4.0 поддерживает специфические для поставщика свойства в наборе DBPROPSET_SSCE_DBINIT.

Свойство

Определение

DBPROP_SSCE_AUTO_SHRINK_THRESHOLD

Процентная доля свободного места в файле базы данных, после превышения которой выполняется автоматическая оптимизация. Если задано значение «100», автоматическая оптимизация отключается. Если значение не указано, то действительно значение по умолчанию — 60.

DBPROP_SSCE_DBCASESENSITIVE

Логическое значение, определяющее, учитывается ли регистр в параметрах сортировки базы данных. Чтобы включить параметры сортировки с учетом регистра, необходимо установить значение true, а для параметров сортировки без учета регистра — значение false. Если значение не указано, по умолчанию используется значение false.

ПримечаниеПримечание
Это свойство введено в SQL Server Compact. Дополнительные сведения см. в разделе Работа с параметрами сортировки (SQL Server Compact).

DBPROP_SSCE_DBPASSWORD

Пароль базы данных длиной до 40 знаков. Если значение не указано, то по умолчанию задается работа без пароля. Это свойство является обязательным, если включено шифрование базы данных. Если пароль задан, то включается шифрование базы данных. Дополнительные сведения см. в разделе Доступ к защищенным паролями базам данных с помощью OLE DB.

DBPROP_SSCE_DEFAULT_LOCK_ESCALATION

Количество блокировок транзакции, после которого будет предпринята попытка эскалации с уровня строки или страницы на уровень таблицы. Если значение не указано, то действительно значение по умолчанию — 100.

DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT

Предусмотренное по умолчанию время ожидания транзакцией блокировки в миллисекундах. Значение по умолчанию — 5000 миллисекунд для настольных компьютеров и 2000 для устройств.

DBPROP_SSCE_ENCRYPTIONMODE

Тип шифрования, используемого для защиты файла базы данных. Дополнительные сведения о режиме шифрования см. в разделе Специфические для поставщика свойства (OLE DB).

DBPROP_SSCE_FLUSH_INTERVAL

Промежуток времени в секундах, по истечении которого все зафиксированные транзакции сбрасываются на диск. Если значение не указано, то действительно значение по умолчанию — 10.

DBPROP_SSCE_MAXBUFFERSIZE

Максимальный размер базы данных в мегабайтах. Если значение не указано, то действительно значение по умолчанию — 640.

DBPROP_SSCE_MAX_DATABASE_SIZE

Максимальный размер базы данных в мегабайтах. Если значение не указано, то действительно значение по умолчанию — 128.

DBPROP_SSCE_TEMPFILE_DIRECTORY

Расположение временной базы данных. Если значение не указано, то по умолчанию используется база данных, указанная в свойстве источника данных для временного хранения. Дополнительные сведения см. в разделах Указание расположения временной базы данных с помощью OLE DB и Временные базы данных.

DBPROP_SSCE_TEMPFILE_MAX_SIZE

Максимальный размер временной базы данных в мегабайтах.