Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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).