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.
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".
I miglioramenti apportati al motore di database a partire da SQL Server 2012 consentono a SQLDescribeCol di ottenere descrizioni più accurate dei risultati previsti. È possibile che questi risultati più accurati differiscano dai valori restituiti da SQLDescribeCol nelle versioni precedenti di SQL Server. Per ulteriori informazioni, vedere Individuazione dei metadati.
Supporto di SQLDescribeCol per le caratteristiche 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 |
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 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).
Vedere anche
Concetti
Dettagli di implementazione di API ODBC