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: Zgodność z normami ODBC 3.0: ISO 92
Podsumowanie
SQLAllocHandle przydziela środowisko, połączenie, polecenie lub uchwyt deskryptoru.
Note
Ta funkcja jest ogólną funkcją do alokacji uchwytów, która zastępuje funkcje ODBC 2.0: SQLAllocConnect, SQLAllocEnv oraz SQLAllocStmt. Aby umożliwić aplikacjom wywołującym SQLAllocHandle współpracę z ODBC 2. x drivers, wywołanie do SQLAllocHandle jest mapowane w Driver Manager na SQLAllocConnect, SQLAllocEnv lub SQLAllocStmt, w zależności od stosowności. Więcej informacji znajdziesz w sekcji "Komentarze." Aby uzyskać więcej informacji o tym, do czego Driver Manager mapuje tę funkcję przy ODBC 3. Aplikacja x działa z ODBC 2. x driver, zobacz Funkcje zastępcze mapowania dla kompatybilności wstecznej aplikacji.
Syntax
SQLRETURN SQLAllocHandle(
SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE * OutputHandlePtr);
Arguments
HandleType
[Input] Typ uchwytu przydzielany przez SQLAllocHandle. Musi mieć jedną z następujących wartości:
SQL_HANDLE_DBC
SQL_HANDLE_DBC_INFO_TOKEN
SQL_HANDLE_DESC
SQL_HANDLE_ENV
SQL_HANDLE_STMT
SQL_HANDLE_DBC_INFO_TOKEN dojście jest używane tylko przez Menedżera sterowników i sterownik. Aplikacje nie powinny używać tego typu dojścia. Więcej informacji o SQL_HANDLE_DBC_INFO_TOKEN można znaleźć w artykule Rozwijanie świadomości Connection-Pool u kierowcy ODBC.
InputHandle
[Input] Uchwyt wejściowy, w którego kontekście ma być przydzielony nowy uchwyt. Jeśli HandleType jest SQL_HANDLE_ENV, to jest to SQL_NULL_HANDLE. Jeśli HandleType jest SQL_HANDLE_DBC, musi to być uchwyt środowiskowy, a jeśli SQL_HANDLE_STMT lub SQL_HANDLE_DESC, musi być uchwytem połączenia.
OutputHandlePtr
[Wyjście] Wskaźnik do bufora, w którym można zwrócić uchwyt do nowo przydzielonej struktury danych.
Zwroty
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_INVALID_HANDLE lub SQL_ERROR.
Podczas alokacji uchwytu innego niż uchwyt środowiskowy, jeśli SQLAllocHandle zwraca SQL_ERROR, ustawia OutputHandlePtr na SQL_NULL_HDBC, SQL_NULL_HSTMT lub SQL_NULL_HDESC, w zależności od wartości HandleType, chyba że argument wyjściowy jest wskaźnikiem null. Aplikacja może następnie uzyskać dodatkowe informacje ze struktury diagnostycznej powiązanej z uchwytem w argumentze InputHandle .
Błędy przy alokacji w zarządzaniu środowiskiem
Przydział środowiska odbywa się zarówno w Menedżerze Sterowników, jak i w ramach każdego sterownika. Błąd zwracany przez SQLAllocHandle z HandleType o SQL_HANDLE_ENV zależy od poziomu, na którym błąd wystąpił.
Jeśli Driver Manager nie może przydzielić pamięci dla *OutputHandlePtr , gdy wywołany jest SQLAllocHandle z HandleType SQL_HANDLE_ENV, lub aplikacja udostępnia wskaźnik null dla OutputHandlePtr, SQLAllocHandle zwraca SQL_ERROR. Menedżer sterowników ustawia *OutputHandlePtr na SQL_NULL_HENV (chyba że aplikacja podała wskaźnik null, który zwraca SQL_ERROR). Nie ma uchwytu, z którym można by powiązać dodatkowe informacje diagnostyczne.
Driver Manager nie wywołuje funkcji zarządzania alokacją środowiska na poziomie sterownika, dopóki aplikacja nie wywoła SQLConnect, SQLBrowseConnect lub SQLDriverConnect. Jeśli wystąpi błąd w funkcji SQLAllocHandle na poziomie sterownika, funkcja SQLConnect, SQLBrowseConnect lub SQLDriverConnect na poziomie Driver Managera zwraca SQL_ERROR. Struktura danych diagnostycznych zawiera SQLSTATE IM004 ( SQLAllocHandle sterownika zawiódł). Błąd jest zwracany na uchwytie połączenia.
Aby uzyskać więcej informacji o przepływie wywołań funkcji między Menedżerem Sterownika a sterownikiem, zobacz SQLConnect Function.
Diagnostyka
Gdy SQLAllocHandle zwraca SQL_ERROR lub SQL_SUCCESS_WITH_INFO, można uzyskać powiązaną wartość SQLSTATE, wywołując SQLGetDiagRec z odpowiednim HandleType i Handle ustawionym na wartość InputHandle. SQL_SUCCESS_WITH_INFO (ale nie SQL_ERROR) można zwrócić dla argumentu OutputHandle . Poniższa tabela przedstawia wartości SQLSTATE typowo zwracane przez SQLAllocHandle i wyjaśnia każdą z nich w kontekście tej funkcji; notacja "(DM)" poprzedza opisy stanów SQL zwracanych przez Menedżera Sterowników. Kod zwracany skojarzony z każdą wartością SQLSTATE jest SQL_ERROR, chyba że określono inaczej.
| SQLSTATE | Error | Description |
|---|---|---|
| 01000 | Ostrzeżenie ogólne | Komunikat informacyjny specyficzny dla sterownika. (Funkcja zwraca SQL_SUCCESS_WITH_INFO). |
| 08003 | Połączenie nie jest otwarte | (DM) Argument HandleType był SQL_HANDLE_STMT lub SQL_HANDLE_DESC, ale połączenie określone przez argument InputHandle nie było otwarte. Proces połączenia musi zostać pomyślnie zakończony (i połączenie musi być otwarte), aby sterownik mógł przydzielić polecenie lub uchwyt deskryptoru. |
| HY000 | Błąd ogólny | Wystąpił błąd, dla którego nie było określonego stanu SQLSTATE i dla którego nie zdefiniowano parametru SQLSTATE specyficznego dla implementacji. Komunikat o błędzie zwrócony przez SQLGetDiagRec w buforze *MessageText opisuje błąd i jego przyczynę. |
| HY001 | Błąd alokacji pamięci | (DM) Menedżer sterowników nie był w stanie przydzielić pamięci dla określonego uchwytu. Sterownik nie był w stanie przydzielić pamięci na wskazany uchwyt. |
| HY009 | Nieprawidłowe użycie wskaźnika o wartości null | (DM) Argument OutputHandlePtr był wskaźnikiem zerowym. |
| HY010 | Błąd sekwencji funkcji | (DM) Argument HandleType został SQL_HANDLE_DBC, a SQLSetEnvAttr nie został wywołany do ustawienia atrybutu środowiska SQL_ODBC_VERSION. (DM) Funkcja asynchronicznie wykonywana została wywołana dla InputHandle i nadal działała, gdy funkcja SQLAllocHandle była wywoływana z HandleType ustawionym na SQL_HANDLE_STMT lub SQL_HANDLE_DESC. |
| HY013 | Błąd zarządzania pamięcią | Argument HandleType brzmiał SQL_HANDLE_DBC, SQL_HANDLE_STMT lub SQL_HANDLE_DESC; a wywołanie funkcji nie mogło zostać przetworzone, ponieważ obiekty pamięci bazowej nie mogły być dostępne, prawdopodobnie z powodu niskich warunków pamięci. |
| HY014 | Limit liczby przekroczonych uchwytów | Limit zdefiniowany przez sterownik dla liczby uchwytów, które można przydzielić dla typu uchwytu wskazanego przez argument HandleType , został osiągnięty. |
| HY092 | Nieprawidłowy identyfikator atrybutu/opcji | (DM) Argument HandleType nie brzmiał: SQL_HANDLE_ENV, SQL_HANDLE_DBC, SQL_HANDLE_STMT ani SQL_HANDLE_DESC. |
| HY117 | Połączenie jest zawieszone z powodu nieznanego stanu transakcji. Dozwolone są tylko funkcje rozłączania i tylko do odczytu. | (DM) Aby uzyskać więcej informacji na temat stanu wstrzymania, zobacz SQLEndTran, funkcja. |
| HYC00 | Opcjonalna funkcja nie zaimplementowana | Argument HandleType był SQL_HANDLE_DESC, a sterownikiem był ODBC 2. x driver. |
| HYT01 | Upłynął limit czasu połączenia | Okres przekroczenia limitu czasu połączenia wygasł, zanim źródło danych odpowiedziało na żądanie. Limit czasu połączenia jest ustawiany za pomocą parametru SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | Sterownik nie obsługuje tej funkcji | (DM) Argument HandleType był SQL_HANDLE_STMT, a sterownik nie był ważnym sterownikiem ODBC. (DM) Argument HandleType był SQL_HANDLE_DESC, a sterownik nie obsługuje alokacji uchwytu deskryptoru. |
Comments
SQLAllocHandle służy do przydzielania uchwytów dla środowisk, połączeń, instrukcji i deskryptorów, jak opisano w poniższych sekcjach. Ogólne informacje o uchwytach można znaleźć w sekcji Uchwyty.
Aplikacja może jednocześnie przydzielać więcej niż jedno środowisko, połączenie lub uchwyt instrukcji, jeśli sterownik obsługuje wiele alokacji. W ODBC nie ma ograniczenia co do liczby uchwytów środowiskowych, połączeń, instrukcji lub deskryptorów, które mogą być alokowane jednocześnie. Sterowniki mogą narzucać limit na liczbę określonych typów uchwytów, które można przydzielić jednocześnie; Więcej informacji można znaleźć w dokumentacji sterowników.
Jeśli aplikacja wywoła SQLAllocHandle z *OutputHandlePtr ustawionym na środowisko, połączenie, polecenie lub uchwyt deskryptoru, który już istnieje, sterownik nadpisuje informacje powiązane z tym uchwytem, chyba że aplikacja korzysta z puli połączeń (patrz "Alokacja atrybutu środowiska dla puli połączeń" później w tej sekcji). Driver Manager nie sprawdza, czy uchwyt wpisany w *OutputHandlePtr jest już używany, ani nie sprawdza wcześniejszej zawartości uchwytu przed nadpisaniem go.
Note
Nieprawidłowe jest wywoływanie SQLAllocHandle dwa razy tą samą zmienną aplikacyjną zdefiniowaną dla *OutputHandlePtr bez wywoływania SQLFreeHandle w celu uwolnienia uchwytu przed jego ponownym przydzieleniem. Nadpisywanie uchwytów ODBC w taki sposób może prowadzić do niespójnego zachowania lub błędów ze strony sterowników ODBC.
Na systemach operacyjnych obsługujących wiele wątków aplikacje mogą używać tego samego środowiska, połączenia, instrukcji lub uchwytu deskryptorów na różnych wątkach. Sterowniki muszą więc wspierać bezpieczny, wielowątkowy dostęp do tych informacji; Jednym ze sposobów osiągnięcia tego jest na przykład użycie krytycznego przekroju lub semaforu. Więcej informacji o wątkowaniu można znaleźć w artykule Multithreading.
SQLAllocHandle nie ustawia atrybutu SQL_ATTR_ODBC_VERSION środowiska podczas wywoływania w celu alokacji uchwytu środowiska; atrybut środowiska musi zostać ustawiony przez aplikację, w przeciwnym razie SQLstate HY010 (błąd sekwencji funkcji) zostanie zwrócony, gdy wywołany jest SQLAllocHandle w celu przydzielenia uchwytu połączenia.
Dla aplikacji zgodnych ze standardami SQLAllocHandle jest mapowany na SQLAllocHandleStd podczas kompilacji. Różnica między tymi funkcjami polega na tym, że SQLAllocHandleStd ustawia atrybut środowiska SQL_ATTR_ODBC_VERSION na SQL_OV_ODBC3, gdy jest wywoływany z argumentem HandleType ustawionym na SQL_HANDLE_ENV. Dzieje się tak, ponieważ aplikacje zgodne ze standardami zawsze są ODBC 3. x zastosowań. Co więcej, standardy nie wymagają rejestracji wersji aplikacji. To jedyna różnica między tymi dwiema funkcjami; poza tym są identyczne. SQLAllocHandleStd jest mapowany na SQLAllocHandle wewnątrz menedżera sterowników. Dlatego sterowniki firm trzecich nie muszą implementować SQLAllocHandleStd.
Aplikacje ODBC 3.8 powinny wykorzystywać:
SQLAllocHandle, a nie SQLAllocHandleStd , aby przydzielić handle'a środowiskowe.
SQLSetEnvAttr , aby ustawić atrybut środowiska SQL_ATTR_ODBC_VERSION na SQL_OV_ODBC3_80.
Przydzielanie uchwytu środowiska
Uchwyt środowiskowy zapewnia dostęp do informacji globalnych, takich jak prawidłowe uchwyty połączeń i aktywne uchwyty połączeń. Ogólne informacje o handlech środowiskowych można znaleźć w sekcji Handle środowiska.
Aby zażądać handle'u środowiskowego, aplikacja wywołuje SQLAllocHandle z HandleType SQL_HANDLE_ENV oraz InputHandle SQL_NULL_HANDLE. Sterownik przydziela pamięć na informacje środowiskowe i przekazuje wartość powiązanego uchwytu z powrotem w argumentze *OutputHandlePtr . Aplikacja przekazuje wartość *OutputHandle we wszystkich kolejnych wywołaniach wymagających argumentu handle'u środowiskowego. Aby uzyskać więcej informacji, zobacz Przydzielanie dojścia środowiska.
W ujęciu środowiskowym Menedżera Sterowników, jeśli istnieje już uchwyt środowiskowy sterownika, to SQLAllocHandle z HandleType SQL_HANDLE_ENV nie jest wywoływany w tym sterowniku podczas nawiązywania połączenia, a jedynie SQLAllocHandle z HandleType SQL_HANDLE_DBC. Jeśli uchwyt środowiska sterownika nie istnieje pod handlem środowiskowym Menedżera Sterownika, zarówno SQLAllocHandle z HandleType SQL_HANDLE_ENV, jak i SQLAllocHandle z HandleType SQL_HANDLE_DBC są wywoływane w sterowniku, gdy pierwszy uchwyt połączenia środowiska jest połączony z driverem.
Gdy Driver Manager przetwarza funkcję SQLAllocHandle z użyciem HandleType SQL_HANDLE_ENV, sprawdza słowo kluczowe Trace w sekcji [ODBC] informacji o systemie. Jeśli jest ustawiony na 1, Driver Manager umożliwia śledzenie dla bieżącej aplikacji. Jeśli flaga śledzenia jest ustawiona, śledzenie rozpoczyna się w momencie alokacji pierwszego uchwytu środowiska i kończy się, gdy ostatni uchwyt środowiska zostanie uwolniony. Więcej informacji można znaleźć w sekcji Konfiguracja źródeł danych.
Po przydzieleniu uchwytu środowiskowego aplikacja musi wywołać SQLSetEnvAttr na uchwytie środowiska, aby ustawić atrybut SQL_ATTR_ODBC_VERSION środowiska. Jeśli ten atrybut nie zostanie ustawiony przed wywołaniem SQLAllocHandle w celu alokacji uchwytu połączenia w środowisku, wywołanie alokacji połączenia zwróci SQLSTATE HY010 (błąd sekwencji funkcji). Więcej informacji można znaleźć w artykule Deklarowanie wersji ODBC aplikacji.
Przydział środowisk współdzielonych do pulowania połączeń
Środowiska mogą być współdzielone między wieloma komponentami w jednym procesie. Środowisko współdzielone może być używane przez więcej niż jeden komponent jednocześnie. Gdy komponent korzysta ze środowiska współdzielonego, może korzystać z połączonych połączeń, które pozwalają mu alokować i korzystać z istniejącego połączenia bez konieczności jego ponownego tworzenia.
Przed przydziałem środowiska współdzielonego do pulowania połączeń, aplikacja musi wywołać SQLSetEnvAttr , aby ustawić atrybut środowiska SQL_ATTR_CONNECTION_POOLING na SQL_CP_ONE_PER_DRIVER lub SQL_CP_ONE_PER_HENV. W tym przypadku SQLSetEnvAttr jest wywoływany z ustawieniem EnvironmentHandle na null, co czyni atrybut atrybutem na poziomie procesu.
Po włączeniu puli połączeń aplikacja wywołuje SQLAllocHandle z argumentem HandleType ustawionym na SQL_HANDLE_ENV. Środowisko przydzielone przez to wywołanie będzie domyślnym środowiskiem udostępnionym, ponieważ włączono buforowanie połączeń.
Gdy środowisko współdzielone jest przydzielane, środowisko, które będzie używane, nie jest określane, dopóki nie zostanie wywołany SQLAllocHandle z HandleType SQL_HANDLE_DBC. W tym momencie Driver Manager próbuje znaleźć istniejące środowisko odpowiadające atrybutom środowiska wymaganym przez aplikację. Jeśli takie środowisko nie istnieje, tworzy się je jako środowisko współdzielone. Driver Manager utrzymuje liczbę odniesień dla każdego współdzielonego środowiska; Liczba jest ustalana na 1 przy pierwszym tworzeniu środowiska. Jeśli zostanie znalezione dopasowane środowisko, uchwyt tego środowiska jest zwracany do aplikacji, a liczba referencji jest zwiększana. Uchwyt środowiskowy przydzielony w ten sposób może być użyty w dowolnej funkcji ODBC, która akceptuje uchwyt środowiska jako argument wejściowy.
Przydzielanie uchwytu połączenia
Uchwyt połączenia zapewnia dostęp do informacji takich jak ważne instrukcje i uchwyty deskryptorów dotyczące połączenia oraz czy transakcja jest aktualnie otwarta. Ogólne informacje o uchwytach połączeń można znaleźć w sekcji Uchwyty połączeń.
Aby zażądać uchwytu połączenia, aplikacja wywołuje SQLAllocHandle z HandleType SQL_HANDLE_DBC. Argument InputHandle jest ustawiony na uchwyt środowiskowy, który został zwrócony przez wywołanie do SQLAllocHandle , które przydzieliło ten uchwyt. Sterownik przydziela pamięć na informacje o połączeniu i przekazuje wartość powiązanego uchwytu z powrotem w *OutputHandlePtr. Aplikacja przekazuje wartość *OutputHandlePtr we wszystkich kolejnych wywołaniach wymagających uchwytu połączenia. Więcej informacji można znaleźć w artykule Alokacja uchwytu połączenia.
Driver Manager przetwarza funkcję SQLAllocHandle i wywołuje funkcję SQLAllocHandle sterownika, gdy aplikacja wywołuje SQLConnect, SQLBrowseConnect lub SQLDriverConnect. (Więcej informacji można znaleźć w SQLConnect Function.)
Jeśli atrybut środowiska SQL_ATTR_ODBC_VERSION nie zostanie ustawiony przed wywołaniem SQLAllocHandle w celu przydzielenia uchwytu połączenia w środowisku, wywołanie alokacji połączenia zwróci SQLSTATE HY010 (błąd sekwencji funkcji).
Gdy aplikacja wywołuje SQLAllocHandle z argumentem InputHandle ustawionym na SQL_HANDLE_DBC i jednocześnie na umiejętność środowiska współdzielonego, Driver Manager próbuje znaleźć istniejące środowisko współdzielone, które odpowiada atrybutom środowiska ustalonym przez aplikację. Jeśli takie środowisko nie istnieje, zostanie utworzone i będzie miało liczbę odwołań (utrzymywaną przez Menedżera Sterowników) równą 1. Jeśli zostanie znalezione odpowiednie środowisko współdzielone, ten uchwyt jest zwracany aplikacji, a liczba jego referencji jest zwiększana.
Rzeczywiste połączenie, które będzie używane, nie jest określane przez Driver Manager, dopóki nie zostanie wywołane SQLConnect lub SQLDriverConnect . Menedżer sterowników używa opcji połączenia w wywołaniu do programu SQLConnect (lub słów kluczowych połączenia w wywołaniu do programu SQLDriverConnect) i atrybutów połączenia ustawionych po alokacji połączenia w celu określenia, które połączenie w puli powinno być używane. Więcej informacji można znaleźć w sekcji SQLConnect Function.
Przydzielanie uchwytu instrukcji
Uchwyt instrukcji zapewnia dostęp do informacji o instrukcjach, takich jak komunikaty o błędach, nazwa kursora oraz informacje o statusie dla przetwarzania instrukcji SQL. Ogólne informacje o uchwytach instrukcji można znaleźć w artykule Uchwyty zdań.
Aby zażądać obsługi instrukcji, aplikacja łączy się ze źródłem danych, a następnie wywołuje SQLAllocHandle przed przesłaniem instrukcji SQL. W tym wywołaniu HandleType powinien być ustawiony na SQL_HANDLE_STMT, a InputHandle na uchwyt połączenia, który został zwrócony przez wywołanie do SQLAllocHandle , które przydzieliło ten uchwyt. Sterownik przydziela pamięć na informacje instrukcji, przypisuje uchwyt instrukcji do określonego połączenia i przekazuje wartość powiązanego uchwytu z powrotem do *OutputHandlePtr. Aplikacja przekazuje wartość *OutputHandlePtr we wszystkich kolejnych wywołaniach wymagających uchwytu instrukcji. Więcej informacji można znaleźć w artykule o alokacji uchwytu wypowiedzi.
Gdy uchwyt instrukcji zostanie przydzielony, sterownik automatycznie przydziela zestaw czterech deskryptorów i przypisuje uchwyty tych deskryptorów atrybutom SQL_ATTR_APP_ROW_DESC, SQL_ATTR_APP_PARAM_DESC, SQL_ATTR_IMP_ROW_DESC i SQL_ATTR_IMP_PARAM_DESC. Nazywa się je niejawnie przydzielonymi deskryptorami. Aby wyraźnie przydzielić deskryptor aplikacji, zobacz następującą sekcję: "Przypisywanie uchwytu deskryptoru."
Przydzielenie uchwytu deskryptora
Gdy aplikacja wywołuje SQLAllocHandle z HandleType SQL_HANDLE_DESC, sterownik przydziela deskryptor aplikacji. Nazywa się je wyraźnie przydzielonymi deskryptorami. Aplikacja kieruje sterownik do użycia wyraźnie przydzielonego deskryptora aplikacji zamiast automatycznie przydzielonego dla danego uchwytu instrukcji, wywołując funkcję SQLSetStmtAttr z atrybutem SQL_ATTR_APP_ROW_DESC lub SQL_ATTR_APP_PARAM_DESC. Deskryptor implementacyjny nie może być przydzielony jawnie, ani nie można określić deskryptora implementacyjnego w wywołaniu funkcji SQLSetStmtAttr .
Jawnie przydzielane deskryptory są powiązane z uchwytem połączenia zamiast z uchwytem instrukcji (jak to jest w przypadku automatycznie przydzielanych deskryptorów). Deskryptory pozostają przydzielane tylko wtedy, gdy aplikacja faktycznie jest połączona z bazą danych. Ponieważ jawnie przydzielone deskryptory są powiązane z uchwytem połączenia, aplikacja może przypisać wyraźnie przydzielony deskryptor do więcej niż jednego polecenia w ramach połączenia. Z kolei deskryptor aplikacji przydzielony niejawnie nie może być powiązany z więcej niż jednym uchwytem instrukcji. (Nie może być powiązany z żadnym innym uchwytem instrukcji niż ten, dla którego został przydzielony.) Jawnie przydzielone uchwyty deskryptorów mogą być uwalniane jawnie przez aplikację lub przez wywołanie SQLFreeHandle z HandleType SQL_HANDLE_DESC, albo domyślnie przy zamknięciu połączenia.
Gdy wyraźnie przydzielony deskryptor zostaje uwolniony, domyślnie przydzielony deskryptor ponownie jest powiązany z tym zatwierdzeniem. (Atrybut SQL_ATTR_APP_ROW_DESC lub SQL_ATTR_APP_PARAM_DESC dla tego zdania jest ponownie ustawiony na implicitnie przydzielony uchwyt deskryptoru.) Dotyczy to wszystkich instrukcji powiązanych z wyraźnie przydzielonym deskryptorem na połączeniu.
Aby uzyskać więcej informacji na temat deskryptorów, zobacz Deskryptory.
Przykład kodu
Zobacz przykładowe programy ODBC, funkcję SQLBrowseConnect, funkcję SQLConnect oraz funkcję SQLSetCursorName.
Powiązane funkcje
| Aby uzyskać informacje o | Zobacz |
|---|---|
| Wykonywanie instrukcji SQL | Funkcja SQLExecDirect |
| Wykonywanie przygotowanej instrukcji SQL | SQLExecute, funkcja |
| Uwalnianie środowiska, połączenia, instrukcji lub uchwytu deskryptoru | Funkcja SQLFreeHandle |
| Przygotowywanie instrukcji do wykonania | SQLPrepare, funkcja |
| Ustawianie atrybutu połączenia | SQLSetConnectAttr, funkcja |
| Ustawianie pola deskryptorowego | Funkcja SQLSetDescField |
| Ustawianie atrybutu środowiskowego | SQLSetEnvAttr Function |
| Ustawianie atrybutu instrukcji | SQLSetStmtAttr, funkcja |