Condividi tramite


SQLDescribeCol

Per le istruzioni eseguite, il driver ODBC di SQL Server Native Client non deve eseguire query sul server per descrivere le colonne in un set di risultati. In questo caso, SQLDescribeCol non causa un round trip del server. Analogamente a SQLColAttribute, la chiamata SQLDescribeCol a istruzioni preparate ma non eseguite genera un round trip del server.

Quando un'istruzione o un batch di istruzioni Transact-SQL restituisce più set di righe di risultati, è possibile che una colonna, a cui fa riferimento il numero ordinale, provenga da una tabella separata o faccia riferimento a una colonna completamente diversa nel set di risultati. SQLDescribeCol deve essere chiamato per ogni set. Quando il set di risultati cambia, l'applicazione deve riassociare i valori dei dati prima di recuperare i risultati delle righe. Per altre informazioni sulla gestione di più set di risultati restituiti, vedere SQLMoreResults.

Gli attributi di colonna vengono segnalati solo per il primo set di risultati quando più set di risultati vengono generati da un batch preparato di istruzioni SQL.

Per i tipi di dati per valori di grandi dimensioni, il valore restituito in DataTypePtr è SQL_VARCHAR, SQL_VARBINARY o SQL_NVARCHAR. Un valore di SQL_SS_LENGTH_UNLIMITED in ColumnSizePtr indica che le dimensioni sono "illimitate".

I miglioramenti apportati al motore di database a partire da SQL Server 2012 consentono a SQLDescribeCol di ottenere descrizioni più accurate dei risultati previsti. Questi risultati più accurati possono differire dai valori restituiti da SQLDescribeCol nelle versioni precedenti di SQL Server. Per altre informazioni, vedere Individuazione metadati.

Supporto di SQLDescribeCol per le funzionalità avanzate di data e ora

I valori restituiti per i tipi di data/ora sono i seguenti:

DataTypePtr ColumnSizePtr DecimalDigitsPtr
data e ora SQL_TYPE_TIMESTAMP 23 3
smalldatetime SQL_TYPE_TIMESTAMP 16 0
dattero SQL_TYPE_DATE (tipo di data in SQL) 10 0
tempo 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

Per altre informazioni, vedere Miglioramenti di data e ora (ODBC).

Supporto di SQLDescribeCol per tipi definiti dall'utente CLR di grandi dimensioni

SQLDescribeCol supporta tipi CLR definiti dall'utente di grandi dimensioni. Per altre informazioni, vedere Tipi CLR definiti dall'utente (ODBC) di grandi dimensioni.

Vedere anche

Funzione SQLDescribeCol
Dettagli di implementazione dell'API ODBC