Condividi tramite


SQLDescribeCol

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)

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. Come SQLColAttribute e SQLNumResultCols, la chiamata di SQLDescribeCol su istruzioni preparate ma non eseguite genera un round trip del server.

Quando un batch di istruzioni o un'istruzione 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 indicati 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 (11.x) 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 Metadata Discovery.

Supporto di SQLDescribeCol per le caratteristiche avanzate di data e ora

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

Attributo DataTypePtr ColumnSizePtr DecimalDigitsPtr
datetime SQL_TYPE_TIMESTAMP 23 3
smalldatetime SQL_TYPE_TIMESTAMP 16 0
data SQL_TYPE_DATE 10 0
Ora 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 CLR definiti dall'utente 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.

Vedi anche

Funzione SQLDescribeCol
Dettagli di implementazione dell'API ODBC