Określanie charakterystyk zbioru wyników (ODBC)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Metadane to dane opisujące inne dane. Na przykład metadane zbioru wyników opisują cechy zestawu wyników, takie jak liczba kolumn w zestawie wyników, typy danych tych kolumn, ich nazwy, precyzja oraz możliwość zerowania.

ODBC dostarcza metadane aplikacjom za pośrednictwem funkcji API katalogu. Sterownik ODBC dla natywnego klienta SQL Server implementuje wiele funkcji katalogu API ODBC jako wywołania odpowiadającej im procedury katalogowej SQL Server.

Aplikacje wymagają metadanych dla większości operacji zestawu wyników. Na przykład aplikacja używa typu danych kolumny do określenia rodzaju zmiennej, która ma być powiązana z tej kolumny. Wykorzystuje długość bajtu kolumny znaku, aby określić, ile miejsca musi mieć do wyświetlenia danych z tej kolumny. Sposób określania metadanych dla kolumny zależy od typu aplikacji.

Aplikacje pionowe zazwyczaj pracują z predefiniowanymi tabelami i wykonują operacje na tych tabelach. Ponieważ metadane zestawu wyników dla takich aplikacji są definiowane jeszcze przed napisaniem aplikacji i kontrolowane przez programistę, mogą być na stałe zakodowane w aplikacji. Jeśli na przykład kolumna identyfikatora zamówienia jest zdefiniowana jako liczba całkowita 4-bajtowa w źródle danych, aplikacja może zawsze powiązać 4-bajtową liczbę całkowitą z tej kolumny. Gdy metadane są zakodowane w aplikacji, zmiana tabel używanych przez aplikację zwykle oznacza zmianę kodu aplikacji.

W aplikacjach ogólnych, zwłaszcza obsługujących zapytania ad hoc, metadane zestawów wyników, które tworzą, są zazwyczaj nieznane aż do czasu działania.

Aby określić cechy zbioru wyników, aplikacja może wywołać:

Dobrze zaprojektowana aplikacja jest napisana z założeniem, że zbiór wyników jest nieznany i wykorzystuje informacje zwrócone przez te funkcje do powiązania kolumn w zbiorze wyników. Aplikacja może wywołać te funkcje w dowolnym momencie po przygotowaniu lub wykonaniu instrukcji. Jednak dla optymalnej wydajności aplikacja powinna wywołać SQLColAttribute, SQLDescribeCol oraz SQLNumResultCols po wykonaniu instrukcji.

Możesz mieć wiele jednoczesnych wywołań metadanych. Procedury katalogu systemowego, które są podstawą implementacji API katalogu ODBC, mogą być wywoływane przez sterownik ODBC, gdy używa statycznych kursorów serwera. Pozwala to aplikacjom jednocześnie przetwarzać wiele wywołań do funkcji katalogu ODBC.

Jeśli aplikacja używa określonego zestawu metadanych więcej niż raz, prawdopodobnie skorzysta na buforowaniu informacji w zmiennych prywatnych przy pierwszym pozyskaniu. Zapobiega to późniejszym wywołaniom do funkcji katalogu ODBC dla tych samych informacji, które zmuszają sterownika do powrotu do serwera.