Freigeben über


SQLDescribeCol

Bei ausgeführten Anweisungen muss der SQL Server Native Client ODBC-Treiber den Server nicht abfragen, um Spalten in einem Resultset zu beschreiben. In diesem Fall SQLDescribeCol verursacht kein Server roundtrip. Wie SQLColAttribute generiert das Aufrufen SQLDescribeCol von vorbereiteten, aber nicht ausgeführten Anweisungen einen Server-Roundtrip.

Wenn eine Transact-SQL-Anweisung oder ein Anweisungsbatch mehrere Ergebniszeilensätze zurückgibt, ist es möglich, dass eine Spalte, auf die von ordinal verwiesen wird, aus einer separaten Tabelle stammt oder auf eine völlig andere Spalte im Resultset verweist. SQLDescribeCol sollte für jeden Satz aufgerufen werden. Wenn sich das Resultset ändert, sollte die Anwendung Datenwerte vor dem Abrufen von Zeilenergebnissen erneut binden. Weitere Informationen zum Behandeln mehrerer Resultset-Rückgaben finden Sie unter SQLMoreResults.

Spaltenattribute werden nur für das erste Resultset gemeldet, wenn durch einen vorbereiteten Stapel von SQL-Anweisungen mehrere Resultsets erzeugt werden.

Bei Datentypen mit großen Werten ist der in DataTypePtr zurückgegebene Wert SQL_VARCHAR, SQL_VARBINARY oder SQL_NVARCHAR. Ein Wert von SQL_SS_LENGTH_UNLIMITED in ColumnSizePtr gibt an, dass die Größe "unbegrenzt" ist.

Verbesserungen in der Datenbank-Engine ab SQL Server 2012 ermöglichen ES SQLDescribeCol, genauere Beschreibungen der erwarteten Ergebnisse zu erhalten. Diese genaueren Ergebnisse können sich von den Werten unterscheiden, die von SQLDescribeCol in früheren Versionen von SQL Server zurückgegeben wurden. Weitere Informationen finden Sie unter Metadatenermittlung.

SQLDescribeCol-Unterstützung für erweiterte Funktionen für Datum und Uhrzeit

Die für Datums-/Uhrzeittypen zurückgegebenen Werte lauten wie folgt:

DataTypePtr ColumnSizePtr DecimalDigitsPtr
datetime SQL_TYPE_TIMESTAMP 23 3
smalldatetime SQL_TYPE_TIMESTAMP 16 0
date SQL_TYPE_DATE 10 0
time SQL_SS_TIME2 8, 10..16 0..7
datetime2 SQL_TYPE_TIMESTAMP 19, 21..27 0..7
datetimeoffset SQL_SS_TIMESTAMPOFFSET 26, 28..34 0..7

Weitere Informationen finden Sie unter Datums- und Uhrzeitverbesserungen (ODBC).

SQLDescribeCol-Unterstützung für große CLR-UDTs

SQLDescribeCol unterstützt große benutzerdefinierte CLR-Typen (UDTs). Weitere Informationen finden Sie unter Large CLR User-Defined Types (ODBC).

Weitere Informationen

SQLDescribeCol-Funktion
ODBC API Implementation Details