Metadati aggiuntivi dei parametri con valori di tabella

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

Per recuperare i metadati per un parametro con valori di tabella, un'applicazione chiama SQLProcedureColumns. Per un parametro con valori di tabella, SQLProcedureColumns restituisce una singola riga. Sono state aggiunte due colonne SQL Server specifiche di SQL Server, SS_TYPE_CATALOG_NAME e SS_TYPE_SCHEMA_NAME, per fornire informazioni sullo schema e sul catalogo per i tipi di tabella associati ai parametri con valori di tabella. In conformità con la specifica ODBC, SS_TYPE_CATALOG_NAME e SS_TYPE_SCHEMA_NAME vengono visualizzate prima che tutte le colonne specifiche del driver aggiunte nelle versioni precedenti di SQL Server e dopo tutte le colonne richieste da ODBC stesso.

Nella tabella seguente sono elencate le colonne significative per i parametri con valori di tabella.

Nome colonna Tipo di dati Valore/commenti
DATA_TYPE Smallint non NULL SQL_SS_TABLE
TYPE_NAME WVarchar(128) non NULL Nome del tipo del parametro con valori di tabella.
COLUMN_SIZE Integer NULL
BUFFER_LENGTH Integer 0
DECIMAL_DIGITS Smallint NULL
NUM_PREC_RADIX Smallint NULL
NULLABLE Smallint non NULL SQL_NULLABLE
REMARKS Varchar NULL
COLUMN_DEF WVarchar(4000) NULL
SQL_DATA_TYPE Smallint non NULL SQL_SS_TABLE
SQL_DATETIME_SUB Smallint NULL
CHAR_OCTET_LENGTH Integer NULL
ORDINAL_POSITION Integer non NULL Posizione ordinale del parametro.
IS_NULLABLE Varchar "YES"
SS_TYPE_CATALOG_NAME WVarchar(128) non NULL Catalogo contenente la definizione di tipo per il tipo di tabella del parametro con valori di tabella.
SS_TYPE_SCHEMA_NAME WVarchar(128) non NULL Schema contenente la definizione di tipo per il tipo di tabella del parametro con valori di tabella.

Le colonne WVarchar sono definite come Varchar nella specifica ODBC, ma vengono effettivamente restituite come WVarchar in tutti i driver ODBC recenti SQL Server. Questa modifica è stata apportata quando il supporto Unicode è stato aggiunto alla specifica di ODBC 3.5 ma non è stato esplicitamente menzionato.

Per ottenere metadati aggiuntivi per i parametri con valori di tabella, un'applicazione usa le funzioni del catalogo SQLColumns e SQLPrimaryKeys. Prima che queste funzioni vengano chiamate per i parametri con valori di tabella, è necessario che l'attributo dell'istruzione SQL_SOPT_SS_NAME_SCOPE venga impostato su SQL_SS_NAME_SCOPE_TABLE_TYPE. Questo valore indica che l'applicazione richiede metadati per un tipo di tabella piuttosto che una tabella effettiva. L'applicazione passa quindi il TYPE_NAME del parametro con valori di tabella come parametro TableName . SS_TYPE_CATALOG_NAME e SS_TYPE_SCHEMA_NAME vengono usati rispettivamente con i parametri CatalogName e SchemaName per identificare il catalogo e lo schema per il parametro con valori di tabella. Quando un'applicazione ha completato il recupero dei metadati per i parametri con valori di tabella, deve impostare nuovamente SQL_SOPT_SS_NAME_SCOPE sul valore predefinito di SQL_SS_NAME_SCOPE_TABLE.

Quando SQL_SOPT_SS_NAME_SCOPE è impostato su SQL_SS_NAME_SCOPE_TABLE, le query ai server collegati non riescono. Le chiamate a SQLColumns o SQLPrimaryKeys con un catalogo contenente un componente server avranno esito negativo.

Vedere anche

Parametri con valori di tabella (ODBC)