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
Standard ODBC jest ściśle dopasowany do standardu ISO, a aplikacje ODBC oczekują standardowego zachowania od sterownika ODBC. Aby jego zachowanie było bliższe temu, co zdefiniuje standard ODBC, sterownik ODBC SQL Server Native Client zawsze korzysta z dostępnych opcji ISO w wersji SQL Server, z którą się łączy.
Gdy sterownik ODBC natywnego klienta SQL Server łączy się z instancją SQL Server, serwer wykrywa, że klient korzysta z sterownika ODBC SQL Server Native Client i ustawia kilka opcji.
Kierowca sam wydaje te oświadczenia; aplikacja ODBC nie robi żadnych zapytań o takie potrzeby. Ustawienie tych opcji pozwala aplikacjom ODBC korzystającym ze sterownika być bardziej przenośne, ponieważ zachowanie serwera odpowiada standardowi ISO.
Aplikacje oparte na bibliotece baz danych zazwyczaj nie włączają tych opcji. Strony obserwujące różne zachowania między klientami ODBC lub DB-Library podczas uruchamiania tego samego SQL nie powinny zakładać, że wskazuje to na problem z natywnym sterownikiem ODBC SQL Server Native Client. Najpierw powinni ponownie uruchomić to zdanie w środowisku DB-Library z tymi samymi SET opcjami, które są używane w sterowniku ODBC SQL Server Native Client.
Ponieważ SET użytkownicy i aplikacje mogą włączać i wyłączać opcje w dowolnym momencie, twórcy procedur i wyzwalaczy powinni również zadbać o testowanie swoich procedur i wyzwalaczy, włączając i wyłączając wymienione SET powyżej opcje zarówno włączone, jak i wyłączone. Zapewnia to, że procedury i wyzwalacze działają poprawnie, niezależnie od tego, jakie opcje dane połączenie ma włączone podczas wywoływania procedury lub wyzwalania. Wyzwalacze lub procedury przechowywane wymagające określonego ustawienia dla jednej z tych opcji powinny wydać polecenie SET na początku wyzwalacza lub procedury przechowywanej. SET To postanowienie obowiązuje tylko podczas wykonywania procedury wyzwalającej lub zapisanej; gdy procedura lub wyzwalacz się kończy, przywraca się pierwotne ustawienie.
Po połączeniu z instancją SQL Server, ustawia się także czwartą SET opcję, CONCAT_NULL_YIELDS_NULL, . Natywny sterownik ODBC klienta SQL Server nie ustawia tych opcji, jeśli AnsiNPW=NO jest określone w źródle danych ani w SQLDriverConnect lub SQLBrowseConnect.
Podobnie jak wspomniane wcześniej opcje ISO, sterownik ODBC dla natywnego klienta SQL Server nie QUOTED_IDENTIFIER włącza tej opcji, jeśli w źródle danych lub w SQLDriverConnect lub SQLBrowseConnect jest określone QuotedID=NO.
Aby sterownik mógł znać aktualny stan SET opcji, aplikacje ODBC nie powinny używać instrukcji Transact-SQL SET do ustawiania tych opcji. Powinni ustawić te opcje tylko na podstawie źródła danych lub opcji połączenia. Jeśli aplikacja wygeneruje SET instrukcje, sterownik może generować błędne instrukcje SQL.