Udostępnij przez


Atrybuty połączenia

Atrybuty połączenia są cechami połączenia. Na przykład, ponieważ transakcje występują na poziomie połączenia, poziom izolacji transakcji jest atrybutem połączenia. Podobnie, czas oczekiwania na logowanie lub czas oczekiwania na połączenie przed upłynięciem limitu czasu jest atrybutem połączenia.

Atrybuty połączenia są ustawiane za pomocą parametru SQLSetConnectAttr i ich bieżących ustawień pobranych za pomocą polecenia SQLGetConnectAttr. Jeśli parametr SQLSetConnectAttr jest wywoływany przed załadowaniem sterownika, Menedżer sterowników przechowuje atrybuty w strukturze połączenia i ustawia je w sterowniku w ramach procesu połączenia. Nie ma potrzeby, aby aplikacja ustawiała jakiekolwiek atrybuty połączenia; Wszystkie atrybuty połączenia mają wartości domyślne, z których niektóre są specyficzne dla sterownika.

Atrybut połączenia można ustawić przed połączeniem lub po nim albo w zależności od atrybutu i sterownika. Limit czasu logowania (SQL_ATTR_LOGIN_TIMEOUT) ma zastosowanie do procesu połączenia i jest skuteczny tylko w przypadku ustawienia przed nawiązaniem połączenia. Atrybuty określające, czy należy używać biblioteki kursorów ODBC (SQL_ATTR_ODBC_CURSORS) i rozmiar pakietu sieciowego (SQL_ATTR_PACKET_SIZE) należy ustawić przed nawiązaniem połączenia, ponieważ biblioteka kursorów ODBC znajduje się między Menedżerem sterowników a sterownikiem, a tym samym musi zostać załadowana przed sterownikiem.

Atrybuty określające, czy źródło danych jest tylko do odczytu, czy do odczytu i zapisu (SQL_ATTR_ACCESS_MODE), a bieżący katalog (SQL_ATTR_CURRENT_CATALOG) można ustawić przed lub po nawiązaniu połączenia, w zależności od sterownika. Jednak międzyoperacyjne aplikacje ustawiają je przed nawiązaniem połączenia, ponieważ niektóre sterowniki nie obsługują ich zmiany po nawiązaniu połączenia.

Niektóre atrybuty połączenia mają wartość domyślną przed nawiązaniem połączenia, a inne nie. Te, które są SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE i SQL_ATTR_TRACEFILE.

Atrybuty połączenia tłumaczenia (SQL_ATTR_TRANSLATE_DLL i SQL_ATTR_TRANSLATE_OPTION) muszą być ustawione po nawiązaniu połączenia.

Wszystkie inne atrybuty połączenia można ustawić w dowolnym momencie. Aby uzyskać więcej informacji, zobacz opis funkcji SQLSetConnectAttr . (Atrybuty połączenia nie mogą być ustawiane na poziomie środowiska przez wywołanie metody SQLSetEnvAttr).