Przydzielanie uchwytu połączenia

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

Zanim aplikacja będzie mogła połączyć się ze źródłem danych lub sterownikiem, musi przydzielić uchwyt połączenia. Robi się to poprzez wywołanie SQLAllocHandle z parametrem HandleType ustawionym na SQL_HANDLE_DBC oraz InputHandle wskazującym na zainicjalizowany handle'a środowiska.

Charakterystyka połączenia jest kontrolowana przez ustawienie atrybutów połączenia. Na przykład, ponieważ transakcje występują na poziomie połączenia, poziom izolacji transakcji jest atrybutem połączenia. Podobnie, limit czasu logowania, czyli liczba sekund oczekiwania przed próbą połączenia przed wygaśnięciem czasu, jest atrybutem połączenia.

Atrybuty połączenia są ustawiane w SQLSetConnectAttr, a ich aktualne ustawienia pobierane są za pomocą SQLGetConnectAttr. Jeśli SQLSetConnectAttr zostanie wywołany przed próbą połączenia, menedżer sterowników ODBC przechowuje atrybuty w swojej strukturze połączenia i ustawia je w sterowniku jako część procesu połączenia. Niektóre atrybuty połączenia muszą być ustawione przed próbą połączenia przez aplikację; inne można ustawić po zakończeniu połączenia. Na przykład SQL_ATTR_ODBC_CURSORS musi być ustawiony przed nawiązaniem połączenia, ale SQL_ATTR_AUTOCOMMIT można ustawić po połączeniu.

Aplikacje działające na SQL Server w wersji 7.0 lub nowszej mogą czasami poprawić swoją wydajność, resetując rozmiar pakietów sieci strumienia danych tabelarzowych (TDS). Domyślny rozmiar pakietu jest ustawiony na serwerze, na 4 KB. Rozmiar pakietu od 4 KB do 8 KB zazwyczaj zapewnia najlepszą wydajność. Jeśli testy pokażą, że lepiej działa przy innym rozmiarze pakietu, aplikacja może zresetować rozmiar pakietu. Aplikacje ODBC mogą to zrobić przed połączeniem, wywołując SQLSetConnectAttr z opcją SQL_ATTR_PACKET_SIZE. Niektóre aplikacje radzą sobie lepiej przy większym rozmiarze pakietów, ale poprawa wydajności jest zazwyczaj minimalna przy rozmiarach pakietów większych niż 8 KB.

Sterownik ODBC dla natywnego klienta SQL Server posiada szereg rozszerzonych atrybutów połączenia, które aplikacja może wykorzystać do zwiększenia swojej funkcjonalności. Niektóre z tych atrybutów kontrolują te same opcje, które można określić w źródłach danych i wykorzystać do nadpisania dowolnej opcji ustawionej w źródle danych. Na przykład, jeśli aplikacja używa identyfikatorów cytowanych, może ustawić atrybut specyficzny dla sterownika SQL_COPT_SS_QUOTED_IDENT na SQL_QI_ON, aby zapewnić, że ta opcja jest zawsze ustawiona niezależnie od ustawienia w dowolnym źródle danych.