Объекты источников данных OLE DB (SQL Server Compact)
В программировании с помощью технологии OLE DB объект источника данных представляет базовое хранилище данных поставщика. Чтобы подключиться к поставщику OLE DB, потребитель должен предварительно создать и инициализировать экземпляр объекта источника данных.
Объект источника данных SQL Server Compact
Чтобы создать в MicrosoftSQL Server Compact 3.5 объект источника данных, необходимо вызвать функцию OLE CoCreateInstance и передать идентификатор класса (CLSID) поставщику OLE DB для SQL Server Compact 3.5, которым является CLSID_SQLSERVERCE. Поскольку SQL Server Compact 3.5 представляет собой внутрипроцессный сервер, экземпляры объектов OLE DB SQL Server Compact 3.5 создаются при помощи макроса CLSCTX_INPROC_SERVER, указывающего контекст исполняемого модуля.
Для указания нужного источника данных в SQL Server Compact 3.5 используется только свойство DBPROP_INIT_DATASOURCE. В это свойство передается полный путь к файлу базы данных, который требуется открыть. После того как это свойство задано, потребитель инициализирует объект источника данных. При этом создается среда, необходимая для обмена данными между потребителем и SQL Server Compact 3.5. После инициализации объекта источника данных потребитель может получать достаточные описательные сведения о хранилище данных, но не имеет доступа к данным. С помощью этого объекта источника данных можно создать один или несколько объектов сеанса. Объекты сеанса, в свою очередь, используются для создания необходимых транзакций, команд и наборов строк.
Поставщик OLE DB для SQL Server Compact 3.5 также позволяет создать новую базу данных. Дополнительные сведения см. в разделе Создание баз данных с помощью OLE DB.
Поддерживаются и базы данных с парольной защитой. Если применяется это средство защиты, то пароль должен передаваться при инициализации объекта источника данных. Дополнительные сведения см. в разделе Доступ к защищенным паролями базам данных с помощью OLE DB.
Ограничения функций объекта источника данных
Функции объекта источника данных в поставщике OLE DB для SQL Server Compact 3.5 имеют некоторые ограничения.
Понятие каталога, как оно определено в OLE DB, в SQL Server Compact 3.5 не используется. Свойство DBPROP_INIT_DATASOURCE определяет, какую базу данных следует использовать, а поставщик OLE DB для SQL Server Compact 3.5 интерпретирует эту базу данных как текущий каталог.
Возможность изменять текущее хранилище данных не поддерживается. Если требуется изменить хранилище данных, клиент должен отменить инициализацию объекта источника данных, задать новое имя хранилища данных и заново инициализировать объект источника данных.
Свойства источника данных, специфические для поставщика
SQL Server Compact 3.5 поддерживает специфические для поставщика свойства в наборе DBPROPSET_SSCE_DBINIT.
Свойство |
Определение |
---|---|
DBPROP_SSCE_AUTO_SHRINK_THRESHOLD |
Процентная доля свободного места в файле базы данных, после превышения которой выполняется автоматическая оптимизация. Если задано значение «100», автоматическая оптимизация отключается. Если значение не указано, то действительно значение по умолчанию — 60. |
DBPROP_SSCE_DBCASESENSITIVE |
Логическое значение, определяющее, учитывается ли регистр в параметрах сортировки базы данных. Чтобы включить параметры сортировки с учетом регистра, необходимо установить значение true, а для использования сортировки без учета регистра — значение false. Если значение не указано, по умолчанию используется значение false.
Примечание
Это свойство введено в SQL Server Compact 3.5. Дополнительные сведения см. в разделе Работа с параметрами сортировки (SQL Server Compact).
|
DBPROP_SSCE_DBPASSWORD |
Пароль базы данных длиной до 40 знаков. Если значение не указано, то по умолчанию задается работа без пароля. Это свойство является обязательным, если включено шифрование базы данных. Если пароль задан, то включается шифрование базы данных. Дополнительные сведения см. в разделе Доступ к защищенным паролями базам данных с помощью OLE DB. |
DBPROP_SSCE_DEFAULT_LOCK_ESCALATION |
Количество блокировок транзакции, после которого будет предпринята попытка эскалации с уровня строки или страницы на уровень таблицы. Если значение не указано, то действительно значение по умолчанию — 100. |
DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT |
Предусмотренное по умолчанию время ожидания транзакцией блокировки в миллисекундах. Значение по умолчанию — 5000 миллисекунд для настольных компьютеров и 2000 для устройств. |
DBPROP_SSCE_ENCRYPTDATABASE |
Логическое значение, определяющее, выполняется ли шифрование базы данных. Значение true означает, что шифрование включено, значение false — что отключено. Если значение не задано, то действует значение по умолчанию — false. Если шифрование включено, то необходимо также в соответствующем свойстве задать пароль. Если задать пароль, то шифрование будет включено независимо от значения, указанного для этого свойства. |
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 |
Максимальный размер временной базы данных в мегабайтах. |