Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Base de dados SQL no Microsoft Fabric
O consumidor — ou seja, a aplicação cliente que utiliza o Driver OLE DB para SQL Server — pode descobrir o tipo de cada parâmetro de comando se o texto do comando tiver sido fornecido ao Fornecedor OLE DB. Depois de se conhecer o tipo de parâmetro com valores de tabela, o consumidor pode descobrir a informação de metadados para cada coluna individual do parâmetro com valores de tabela.
A informação de tipo dos parâmetros do procedimento é suportada por ICommandWithParameters::GetParameterInfo para a maioria dos tipos de parâmetros. A partir do SQL Server 2005 (9.x), com a introdução dos tipos definidos pelo utilizador e do tipo de dados xml , o método GetParameterInfo não era suficiente para este propósito porque não era possível fornecer informação de tipo definida pelo utilizador (nome, esquema e catálogo) através do ICommandWithParameters. Foi definida uma nova interface, ISSCommandWithParameters, para fornecer informação de tipo alargada.
Para parâmetros com valores de tabela, também utiliza a interface ISSCommandWithParameters para descobrir informação detalhada. O cliente chama ISSCommandWithParameters::GetParameterInfo após preparar o objeto de comando. Para parâmetros com valores de tabela, o membro wType da estrutura DBPARAMINFO é definido para DBTYPE_TABLE pelo fornecedor. O campo ulParamSize da estrutura DBPARAMINFO tem um valor de ~0.
O consumidor solicitaria então propriedades adicionais (nome do catálogo de tipos de parâmetro com valores em tabela, nome do esquema do tipo de parâmetro com valores em tabela, nome do tipo de parâmetro com valores em tabela, ordenação das colunas e colunas padrão) usando ISSCommandWithParameters::GetParameterProperties.
Depois de o nome do tipo ser conhecido, para obter a informação da coluna individual, o consumidor deve chamar IOpenRowset::OpenRowsetor para obter o conjunto de linhas DBSCHEMA_TABLE_TYPE_COLUMNS especificando o nome do tipo de parâmetro com valor na tabela como o nome da tabela.
Ver também
Table-Valued Parâmetros (OLE DB)
Usar Table-Valued Parâmetros (OLE DB)