Свойства источника данных SQL Server Native Client (OLE DB)

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

Важно!

SQL Server Native Client (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Для разработки не рекомендуется использовать поставщик SQL Server Native Client OLE DB (SQLNCLI или SQLNCLI11) и устаревший поставщик MICROSOFT OLE DB для SQL Server (SQLOLEDB). Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server в будущем.

Поставщик SQL Server Native Client OLE DB реализует свойства источника данных следующим образом.

Идентификатор свойства Описание
DBPROP_CURRENTCATALOG Ч/З чтение и запись; По умолчанию: None

Описание. Значение DBPROP_CURRENTCATALOG сообщает текущую базу данных для сеанса поставщика SQL SERVER NATIVE CLIENT OLE DB. Установка значения этого свойства равноценна установке текущей базы данных с помощью инструкции Transact-SQL USE база_данных.

Начиная с версии SQL Server 2005 (9.x) при вызове хранимой процедуры sp_defaultdb и указании имени базы данных в нижнем регистре, даже если база данных первоначально была создана с именем в смешанном регистре, свойство DBPROP_CURRENTCATALOG возвратит имя в нижнем регистре. В предыдущих версиях SQL Server свойство DBPROP_CURRENTCATALOG возвращало имя в ожидаемом смешанном регистре.
DBPROP_MULTIPLECONNECTIONS Ч/З чтение и запись; По умолчанию: VARIANT_FALSE

Описание. Если в соединении выполняется команда, не создающая набора строк или создающая набор строк, который не является серверным курсором, то для выполнения другой команды, запущенной в это же время, создается новое соединение, если свойство DBPROP_MULTIPLECONNECTIONS имеет значение VARIANT_TRUE.

Поставщик OLE DB SQL Server Native Client не создаст другое подключение, если DBPROP_MULTIPLECONNECTION VARIANT_FALSE или если транзакция активна. Поставщик OLE DB SQL Server Native Client возвращает DB_E_OBJECTOPEN, если DBPROP_MULTIPLECONNECTIONS VARIANT_FALSE, и возвращает E_FAIL при наличии активной транзакции. Управление транзакциями и блокировками SQL Server производит отдельно для каждого соединения. Если создано второе соединение, команды в отдельных соединениях не используют общие блокировки. Чтобы убедиться, что одна команда не блокирует другую, удерживайте блокировки строк, запрошенных другой командой. Это верно и при создании нескольких сеансов.

Каждый сеанс имеет отдельное соединение.

В наборе свойств конкретного поставщика DBPROPSET_SQLSERVERDATASOURCE поставщик OLE DB SQL Server Native Client определяет следующие дополнительные свойства источника данных.

Идентификатор свойства Описание
SSPROP_ENABLEFASTLOAD Ч/З чтение и запись; По умолчанию: VARIANT_FALSE

Описание. Чтобы включить массовое копирование из памяти, свойству SSPROP_ENABLEFASTLOAD необходимо присвоить значение VARIANT_TRUE. Если это свойство установлено в источнике данных, вновь созданный сеанс позволяет потребителю получить доступ к интерфейсу IRowsetFastLoad.

Если это свойство имеет значение VARIANT_TRUE, доступ к интерфейсу IRowsetFastLoad можно получить через метод IOpenRowset::OpenRowset, запросив интерфейс IID_IRowsetFastLoad, или с помощью присвоения свойству SSPROP_IRowsetFastLoad значения VARIANT_TRUE.
SSPROP_ENABLEBULKCOPY Ч/З чтение и запись; По умолчанию: VARIANT_FALSE

Описание. Чтобы включить массовое копирование из файлов, свойству SSPROP_ENABLEBULKCOPY необходимо присвоить значение VARIANT_TRUE. Если это свойство установлено в источнике данных, потребитель получает доступ к интерфейсу IBCPSession с тем же уровнем, что и сеанс.

Свойство SSPROP_IRowsetFastLoad также должно быть установлено в значение VARIANT_TRUE.

См. также:

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