Поделиться через


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

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

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

Чтобы создать в Microsoft SQL Server Compact 3.5 (SQL 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.

ms173256.note(ru-ru,SQL.100).gifПримечание.
Это свойство введено в 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

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