Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Für ausgeführte 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 von SQLDescribeCol vorbereiteten, aber nicht ausgeführten Anweisungen ein Server-Roundtrip.
Wenn ein Transact-SQL Anweisungs- oder Anweisungsbatch mehrere Ergebniszeilensätze zurückgibt, ist es möglich, dass eine Spalte, auf die durch Ordinal verwiesen wird, in 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 neu verknüpfen. Weitere Informationen zum Behandeln mehrerer Resultset-Rückgaben finden Sie unter SQLMoreResults.
Spaltenattribute werden nur für das erste Resultset gemeldet, wenn mehrere Resultsets durch einen vorbereiteten Batch von SQL-Anweisungen generiert 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 im Datenbankmodul ab SQL Server 2012 ermöglichen SQLDescribeCol, genauere Beschreibungen der erwarteten Ergebnisse zu erhalten. Diese genaueren Ergebnisse können sich von den von SQLDescribeCol in früheren Versionen von SQL Server zurückgegebenen Werten unterscheiden. Weitere Informationen finden Sie unter "Metadatenermittlung".
SQLDescribeCol-Unterstützung für erweiterte Datums- und Uhrzeitfeatures
Die für Datums-/Uhrzeittypen zurückgegebenen Werte lauten wie folgt:
| DataTypePtr | ColumnSizePtr | DecimalDigitsPtr | |
|---|---|---|---|
| Datum/Uhrzeit | SQL_TYPE_TIMESTAMP | 23 | 3 |
| smalldatetime | SQL_TYPE_TIMESTAMP | 16 | 0 |
| Datum | SQL_TYPE_DATE | 10 | 0 |
| Zeit | 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)".