--------------------------------------------------------------- Microsoft(R) SQL Server OLE DB Provider 7.00.459. Файл сведений --------------------------------------------------------------- (c) Корпорация Майкрософт, 1998. Все права защищены. Этот документ содержит сведения, дополняющие документацию Microsoft SQL Server OLE DB Provider. ---------- СОДЕРЖАНИЕ ---------- 1. ОПИСАНИЕ ПРОДУКТА 2. ТЕХНИЧЕСКИЕ ЗАМЕЧАНИЯ -------------------- 1. ОПИСАНИЕ ПРОДУКТА -------------------- Служба доступа SQLOLEDB (Microsoft SQL Server OLE DB) открывает интерфейсы доступа к данным на одном или нескольких серверах SQL Server. ------------------------ 2. ТЕХНИЧЕСКИЕ ЗАМЕЧАНИЯ ------------------------ 2.1 Изменение свойств службы доступа SQLOLEDB В свойства службы доступа SQLOLEDB были внесены следующие изменения. * Свойство DBPROP_INIT_DATASOURCE теперь используется для определения имени сервера SQL Server. Для определения имени базы данных это свойство теперь не используется. * Свойство DBPROP_INIT_CATALOG используется для определения начальной базы данных. * Свойство DBPROP_INIT_LOCATION теперь не поддерживается. * Введено свойство DBPROP_AUTH_INTEGRATED. Если его значение равно 'SSPI', будет использоваться встроенная система безопасности. Если значение равно нулевому указателю BSTR, используется система безопасности сервера SQL Server. * Свойство SSPROP_AUTH_TRUSTEDCONNECTION теперь не поддерживается. * Свойство DBPROP_INIT_MODE, зависящее от службы доступа, теперь не поддерживается. 2.2 В случае попытки выполнения инструкции через соединение, которое уже имеет не выполненную инструкцию, будет создано еще одно соединение для выполнения новой инструкции при следующих условиях. * Значение свойства DBPROP_MULTIPLECONNECTIONS равно VARIANT_TRUE. * Первой командой не был создан набор записей, или не был использован курсор сервера. * В соединении нет активных транзакций. Если в соединении имеется активная транзакция, при попытке выполнения второй инструкции будет возвращено значение E_FAIL. Если активных транзакций нет, но значение свойства DBPROP_MULTIPLECONNECTIONS равно VARIANT_FALSE, при попытке выполнения второй инструкции будет возвращено значение DB_E_OBJECTOPEN. Управление транзакциями и блокировками осуществляется сервером SQL Server на уровне соединений. Для каждого соединения на инструкции распространяется своя блокировка. Следует принять необходимые меры предосторожности, позволяющие избежать ситуации, когда выполнению одной инструкции препятствует блокировка записей, установленная другой инструкцией. 2.3 Для увеличения быстродействия и уменьшения нагрузки на сеть, служба доступа SQLOLEDB автоматически не получает данные параметра пока перед выполнением команды не будет вызван метод ICommandWithParameters::GetParameterInfo или ICommandPrepare::Prepare. Это означает, что служба доступа SQLOLEDB автоматически не будет выполнять следующие действия. * Проверка правильности типа данных указанного методом ICommandWithParameters::SetParameterInfo. * Преобразование указанного типа DBTYPE к соответствующему типу данных SQL параметра. В приложениях при использовании этих методов могут возникать ошибки или может быть снижена точность вычислений, если они задают типы данных, которые не совместимы с типом данных SQL параметра. Для предотвращения таких ошибок приложение должно выполнять следующие действия. * При прямом кодировании вызова ICommandWithParameters::SetParameterInfo убедиться в соответствии pwszDataSourceType типу данных параметра SQL. * При прямом кодировании доступа убедиться, что тип DBTYPE, связываемого с параметром, тот же, что и тип данных SQL параметра. * Включить вызов ICommandWithParameters::GetParameterInfo для динамического получения службой доступа типов данных SQL параметров. Это действие требует дополнительного обращения к серверу. 2.4 Свойство DBPROP_CHANGEINSERTEDROWS может иметь только значение VARIANT_TRUE, когда в наборе записей используется ключевой курсор.