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.
Zgodność
Wprowadzona wersja: ODBC 3.81 Zgodność ze standardami: ODBC
Podsumowanie
SQLSetConnectAttrForDbcInfo to to samo co SQLSetConnectAttr, ale atrybut jest ustawiony na tokenie informacji o połączeniu, a nie na uchwytie połączenia.
Syntax
SQLRETURN SQLSetConnectAttrForDbcInfo(
SQLHDBC_INFO_TOKEN hDbcInfoToken,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength );
Arguments
hDbcInfoToken
[Input] Uchwyt żetonów.
Atrybut
[Input] Przypisz do zbioru. Lista poprawnych atrybutów jest specyficzna dla sterownika i taka sama jak w SQLSetConnectAttr.
Valueptr
[Input] Wskaźnik do wartości powiązanej z atrybutem. W zależności od wartości atrybutu, ValuePtr będzie 32-bitową wartością całkowitą bez znaku lub wskaże na ciąg znaków zakończony zerowo. Należy zauważyć, że jeśli argument Attribute jest wartością specyficzną dla sterownika, wartość w ValuePtr może być liczbą całkowitą ze znakiem.
StringLength
[Input] Jeśli Attribute jest atrybutem zdefiniowanym przez ODBC, a ValuePtr wskazuje na ciąg znaków lub bufor binarny, ten argument powinien mieć długość *ValuePtr. Dla danych ciągu znaków argument ten powinien zawierać liczbę bajtów w ciągu znaków.
Jeśli Attribute jest atrybutem zdefiniowanym przez ODBC, a ValuePtr jest liczbą całkowitą, StringLength jest ignorowany.
Jeśli Attribute jest atrybutem definiowanym przez sterownik, aplikacja wskazuje charakter atrybutu Driver Managerowi, ustawiając argument StringLength . StringLength może mieć następujące wartości:
Jeśli ValuePtr jest wskaźnikiem do ciągu znaków, to StringLength to długość ciągu lub SQL_NTS.
Jeśli ValuePtr jest wskaźnikiem do bufora binarnego, aplikacja umieszcza wynik makra SQL_LEN_BINARY_ATTR(length) w StringLength. To umieszcza ujemną wartość w StringLength.
Jeśli ValuePtr jest wskaźnikiem do wartości innej niż ciąg znaków lub ciąg binarny, to StringLength powinien mieć wartość SQL_IS_POINTER.
Jeśli ValuePtr zawiera wartość o stałej długości, to StringLength jest albo SQL_IS_INTEGER, albo SQL_IS_UINTEGER, zgodnie z przeznaczeniem.
Zwroty
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR lub SQL_INVALID_HANDLE.
Diagnostyka
Podobnie jak SQLSetConnectAttr, z tą różnicą, że Driver Manager używa HandleType SQL_HANDLE_DBC_INFO_TOKEN oraz HandlehDbcInfoToken.
Remarks
SQLSetConnectAttrForDbcInfo jest tym samym co SQLSetConnectAttr, ale ustawia atrybut na tokenie informacji o połączeniu, zamiast na uchwytie połączenia. Na przykład, jeśli SQLSetConnectAttr nie rozpoznaje atrybutu, SQLSetConnectAttrForDbcInfo również powinien zwracać SQL_ERROR dla tego atrybutu.
Za każdym razem, gdy sterownik zwraca SQL_ERROR lub SQL_INVALID_HANDLE, powinien zignorować ten atrybut, aby obliczyć identyfikator puli. Ponadto Driver Manager pobiera informacje diagnostyczne z hDbcInfoToken i zwraca SQL_SUCCESS_WITH_INFO do aplikacji w SQLConnect i SQLDriverConnect. Dlatego aplikacja może uzyskać szczegóły dotyczące przyczyn niemożliwości niektórych atrybutów.
Aplikacje nie powinny wywoływać tej funkcji bezpośrednio. Sterownik ODBC wspierający pulowanie połączeń świadomych sterowników musi implementować tę funkcję.
Uwzględnij sqlspi.h do tworzenia sterowników ODBC.