SQLDescribeCol

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

För exekverade satser behöver SQL Server Native Client ODBC-drivrutinen inte fråga servern för att beskriva kolumner i en resultatuppsättning. I detta fall orsakar SQLDescribeCol ingen serverrundtur. Liksom SQLColAttribute och SQLNumResultCols genererar anrop av SQLDescribeCol på förberedda men inte exekverade satser en serverrunda.

När ett Transact-SQL-sats eller en satsbatch returnerar flera resultatradmängder är det möjligt för en kolumn, refererad med ordinal, att ha sitt ursprung i en separat tabell eller att hänvisa till en helt annan kolumn i resultatmängden. SQLDescribeCol bör anropas för varje mängd. När resultatuppsättningen ändras bör applikationen binda om datavärden innan radresultaten hämtas. För mer information om hantering av flera resultatuppsättningar, se SQLMoreResults.

Kolumnattribut rapporteras endast för den första resultatuppsättningen när flera resultatuppsättningar genereras av en förberedd batch av SQL-satser.

För stora värdedatatyper är värdet som returneras i DataTypePtr SQL_VARCHAR, SQL_VARBINARY eller SQL_NVARCHAR. Ett värde på SQL_SS_LENGTH_UNLIMITED i ColumnSizePtr indikerar att storleken är "obegränsad".

Förbättringar i databasmotorn, med start från SQL Server 2012 (11.x), gör att SQLDescribeCol kan få mer exakta beskrivningar av de förväntade resultaten. Dessa mer exakta resultat kan skilja sig från de värden som returnerats av SQLDescribeCol i tidigare versioner av SQL Server. För mer information, se Metadata Discovery.

SQLDescribeCol-stöd för förbättrade datum- och tidsfunktioner

Värdena som returneras för datum-/tid-typer är följande:

Attribute 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

Mer information finns i Förbättringar av datum och tid (ODBC).

SQLDescribeCol-stöd för stora CLR UDT:er

SQLDescribeCol stöder stora CLR-användardefinierade typer (UDT). Mer information finns i Large CLR User-Defined Types (ODBC).