Condividi tramite


SQLDescribeCol

Per le istruzioni eseguite, il driver ODBC di SQL Server Native Client non deve eseguire una query sul server per descrivere le colonne in un set di risultati. In questo caso, SQLDescribeCol non genera un round trip del server. Analogamente a SQLColAttributeeSQLNumResultCols, la chiamata a SQLDescribeCol nelle 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 un 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 ulteriori informazioni sulla gestione dei valori restituiti in più set di risultati, vedere SQLMoreResults.

Il driver ODBC di SQL Server Native Client utilizza l'istruzione SET FMTONLY per ridurre l'overhead del server quando SQLDescribeCol viene chiamato per istruzioni preparate ma non eseguite. 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.

Nel caso dei tipi di dati con valori di grandi dimensioni, il valore restituito in DataTypePtr è SQL_VARCHAR, SQL_VARBINARY o SQL_NVARCHAR. Il valore SQL_SS_LENGTH_UNLIMITED in ColumnSizePtr indica che la dimensione è "illimitata".

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

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

Per ulteriori informazioni, vedere Miglioramenti relativi a data e ora (ODBC).

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

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