Metadati aggiuntivi dei parametri con valori di tabella
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform 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 aggiuntive 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 di 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 | Intero | NULL |
BUFFER_LENGTH | Intero | 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 | Intero | 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 di SQL Server recenti. 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 che contiene un componente server avranno esito negativo.