Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:sql Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
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ść.
Podczas wykonywania instrukcji, wywoływanie procedury przechowywanej na źródle danych (zamiast bezpośrednio wykonywać lub przygotowywać instrukcje w aplikacji klienckiej) może zapewnić:
Wyższa wydajność.
Zmniejszone narzuty sieci.
Lepsza konsekwencja.
Lepsza celność.
Dodana funkcjonalność.
Dostawca natywnej klientowej bazy danych SQL Server obsługuje trzy mechanizmy, które procedury przechowywane SQL Server wykorzystują do zwracania danych:
Każde polecenie SELECT w procedurze generuje zbiór wyników.
Procedura może zwracać dane poprzez parametry wyjściowe.
Procedura może mieć kod zwrotny z liczbą całkowitą.
Aplikacja musi być w stanie obsłużyć wszystkie te wyjścia z procedur przechowywanych.
Różni dostawcy OLE DB zwracają parametry wyjściowe i wartości w różnych momentach przetwarzania wyników. W przypadku dostawcy natywnego klienta OLE DB SQL Server, parametry wyjściowe i kody zwrotne nie są dostarczane, dopóki konsument nie odzyska lub nie anuluje zestawów wyników zwróconych przez procedurę przechowywaną. Kody zwrotne i parametry wyjściowe są zwracane w ostatnim pakiecie TDS z serwera.
Dostawcy używają właściwości DBPROP_OUTPUTPARAMETERAVAILABILITY do raportowania, kiedy zwraca parametry wyjściowe i wartości. Ta własność należy do zbioru DBPROPSET_DATASOURCEINFO.
Dostawca SQL Server Native Client OLE DB ustawia właściwość DBPROP_OUTPUTPARAMETERAVAILABILITY na DBPROPVAL_OA_ATROWRELEASE, aby wskazać, że kody zwrotne i parametry wyjściowe nie są zwracane, dopóki zestaw wyników nie zostanie przetworzony lub zwolniony.