Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deskryptor jest kolekcją metadanych opisujących parametry instrukcji SQL lub kolumn zestawu wyników, co jest widoczne dla aplikacji lub sterownika (nazywanego również implementacją). W związku z tym deskryptor może wypełnić dowolną z czterech ról:
Deskryptor parametrów aplikacji (APD). Zawiera informacje o buforach aplikacji powiązanych z parametrami w instrukcji SQL, takich jak adresy, długości i typy danych języka C.
Deskryptor parametru implementacji (IPD). Zawiera informacje o parametrach w instrukcji SQL, takie jak ich typy danych SQL, długości i możliwość przyjmowania wartości null.
Deskryptor wiersza aplikacji (ARD). Zawiera informacje o buforach aplikacji powiązanych z kolumnami w zestawie wyników, takich jak ich adresy, długości i typy danych języka C.
Deskryptor wiersza implementacji (IRD). Zawiera informacje o kolumnach w zestawie wyników, takie jak ich typy danych SQL, długości i możliwość przechowywania wartości null.
Cztery deskryptory (po jednym dla każdej roli) są przydzielane automatycznie po przydzieleniu instrukcji. Są one nazywane deskryptorami przydzielanymi automatycznie i są zawsze skojarzone z tą instrukcją. Aplikacje mogą również przydzielać deskryptory za pomocą polecenia SQLAllocHandle. Są one nazywane jawnie przydzielonymi deskryptorami. Są one przydzielane na połączenie i mogą być skojarzone z jednym lub więcej zapytań na tym połączeniu, aby spełniać rolę APD lub ARD w tych zapytaniach.
Większość operacji w odBC można wykonywać bez jawnego użycia deskryptorów przez aplikację. Deskryptory zapewniają jednak wygodny skrót do niektórych operacji. Załóżmy na przykład, że aplikacja chce wstawić dane z dwóch różnych zestawów buforów. Aby użyć pierwszego zestawu buforów, wielokrotnie wywołuje SQLBindParameter, aby powiązać je z parametrami w instrukcji INSERT, a następnie ją wykonać. Aby użyć drugiego zestawu buforów, należy powtórzyć ten proces. Alternatywnie można skonfigurować powiązania do pierwszego zestawu buforów w jednym deskryptorze i do drugiego zestawu buforów w innym deskryptorze. Aby przełączać się między zestawami powiązań, aplikacja po prostu wywoła SQLSetStmtAttr i skojarzy poprawny deskryptor z instrukcją jako deskryptor APD.
Aby uzyskać więcej informacji na temat deskryptorów, zobacz Typy deskryptorów.