Natywne właściwości źródła danych klienta SQL Server (OLE DB)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Important

SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.

Dostawca natywnej klientowej bazy danych SQL Server implementuje właściwości źródeł danych w następujący sposób.

Identyfikator nieruchomości Description
DBPROP_CURRENTCATALOG R/W: Domyślny odczyt/zapis Domyślny: brak

Opis: Wartość DBPROP_CURRENTCATALOG raportuje aktualną bazę danych dla sesji dostawcy SQL Server Native Client OLE DB. Ustawienie wartości właściwości ma identyczny efekt jak ustawienie bieżącej bazy danych za pomocą instrukcji Transact-SQL USE database .

Począwszy od SQL Server 2005 (9.x), jeśli wywołasz sp_defaultdb i podałeś nazwę bazy małych liter, nawet jeśli baza została pierwotnie utworzona z mieszaną nazwą literową, DBPROP_CURRENTCATALOG zwróci nazwę małymi literami. W poprzednich wersjach SQL Server DBPROP_CURRENTCATALOG zwraca oczekiwany mieszany przypadek.
DBPROP_MULTIPLECONNECTIONS R/W: Domyślny odczyt/zapis domyślny: VARIANT_FALSE

Opis: Jeśli połączenie wykonuje polecenie, które nie generuje zestawu wierszy lub tworzy wiersz niebędący kursorem serwera i wykonasz kolejne polecenie, utworzy się nowe połączenie, które wykona nowe polecenie, jeśli DBPROP_MULTIPLECONNECTIONS jest VARIANT_TRUE.

Dostawca SQL Server Native Client OLE DB nie utworzy kolejnego połączenia, jeśli DBPROP_MULTIPLECONNECTION jest VARIANT_FALSE lub jeśli na połączeniu jest aktywna transakcja. Dostawca SQL Server Native Client OLE DB zwraca DB_E_OBJECTOPEN, jeśli DBPROP_MULTIPLECONNECTIONS jest VARIANT_FALSE i zwraca E_FAIL, jeśli transakcja jest aktywna. Transakcje i blokowanie są zarządzane przez SQL Server na zasadzie pojedynczego połączenia. Jeśli zostanie wygenerowane drugie połączenie, polecenia na oddzielnych połączeniach nie mają wspólnego zamknięcia. Aby zapewnić, że jedno polecenie nie blokuje innego, zatrzymaj blokady na wierszach żądanych przez drugie polecenie. To samo dotyczy tworzenia wielu sesji.

Każda sesja ma osobne połączenie.

W specyficznym dla dostawcy zbiorze właściwości DBPROPSET_SQLSERVERDATASOURCE, provider SQL Server Native Client OLE DB definiuje następujące dodatkowe właściwości źródła danych.

Identyfikator nieruchomości Description
SSPROP_ENABLEFASTLOAD R/W: Domyślny odczyt/zapis domyślny: VARIANT_FALSE

Opis: Aby umożliwić kopiowanie masowe z pamięci, SSPROP_ENABLEFASTLOAD właściwość powinna być ustawiona na VARIANT_TRUE. Po ustawieniu tej właściwości na źródle danych, nowo utworzona sesja umożliwia użytkownikowi dostęp do interfejsu IRowsetFastLoad .

Jeśli właściwość jest ustawiona na VARIANT_TRUE, interfejs IRowsetFastLoad jest dostępny przez IOpenRowset::OpenRowset poprzez żądanie interfejsu IID_IRowsetFastLoad lub ustawienie SSPROP_IRowsetFastLoad na VARIANT_TRUE.
SSPROP_ENABLEBULKCOPY R/W: Domyślny odczyt/zapis domyślny: VARIANT_FALSE

Opis: Aby umożliwić masową kopię z plików, SSPROP_ENABLEBULKCOPY właściwość powinna być ustawiona na VARIANT_TRUE. Przy ustawieniu tej właściwości na źródle danych, dostęp konsumentów do interfejsu IBCPSession jest dostępny na tym samym poziomie co Sesje.

SSPROP_IRowsetFastLoad musi być również ustawiony na VARIANT_TRUE.