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.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Dla wykonanych instrukcji sterownik ODBC natywnego klienta SQL Server nie musi zapytywać serwera, aby opisać kolumny w zbiorze wyników. W tym przypadku SQLDescribeCol nie powoduje połączenia serwera w obie strony. Podobnie jak SQLColAttribute i SQLNumResultCols, wywołanie SQLDescribeCol na przygotowanych, ale niewykonanych instrukcjach generuje serwer w obie strony.
Gdy Transact-SQL polecenie lub partia instrukcji zwraca wiele zestawów wierszy wyników, możliwe jest, że kolumna, do której odwołano się za pomocą liczby porządkowej, pochodzi z osobnej tabeli lub odnosi się do zupełnie innej kolumny w zbiorze wyników. SQLDescribeCol powinien być wywołany dla każdego zestawu. Gdy zbiór wyników się zmienia, aplikacja powinna ponownie przypisać wartości danych przed pobraniem wyników wiersza. Więcej informacji o obsłudze wielu zwrotów zestawów wyników można znaleźć w SQLMoreResults.
Atrybuty kolumn są raportowane tylko dla pierwszego zbioru wyników, gdy wiele zestawów wyników jest generowanych przez przygotowaną partię instrukcji SQL.
Dla typów danych o dużej wartości wartość zwracana w DataTypePtr to SQL_VARCHAR, SQL_VARBINARY lub SQL_NVARCHAR. Wartość SQL_SS_LENGTH_UNLIMITED w ColumnSizePtr oznacza, że rozmiar jest "nieograniczony".
Ulepszenia silnika baz danych, począwszy od SQL Server 2012 (11.x), pozwalają SQLDescribeCol uzyskać dokładniejsze opisy oczekiwanych wyników. Te dokładniejsze wyniki mogą różnić się od wartości zwracanych przez SQLDescribeCol w poprzednich wersjach SQL Server. Więcej informacji można znaleźć w sekcji Metadata Discovery.
SQLDescribeCol Support for Enhanced Date and Time Features
Wartości zwracane dla typów dat/godzin są następujące:
| Attribute | DataTypePtr | ColumnSizePtr | DecimalDigitsPtr |
|---|---|---|---|
| data/godzina | SQL_TYP_ZNACZNIKA_CZASU | 23 | 3 |
| smalldatetime | SQL_TYP_ZNACZNIKA_CZASU | 16 | 0 |
| date | SQL_TYPE_DATE | 10 | 0 |
| time | SQL_SS_TIME2 | 8, 10..16 | 0..7 |
| datetime2 | SQL_TYP_ZNACZNIKA_CZASU | 19, 21..27 | 0..7 |
| datetimeoffset | SQL_SS_TIMESTAMPOFFSET | 26, 28..34 | 0..7 |
Aby uzyskać więcej informacji, zobacz ulepszenia daty i godziny (ODBC).
SQLDescribeCol Support for Large CLR UDT
SQLDescribeCol obsługuje duże typy CLR zdefiniowane przez użytkownika (UDT). Aby uzyskać więcej informacji, zobacz large CLR User-Defined Types (ODBC).