Compartilhar via


Suporte ao tipo de parâmetro com valor de tabela OLE DB

Este tópico descreve suporte ao tipo OLE DB para parâmetros com valor de tabela.

Objeto de conjunto de linhas de parâmetro com valor de tabela

É possível criar um objeto de conjunto de linhas especializado para parâmetros com valor de tabela. Você cria o objeto de conjunto de linhas para parâmetro com valor de tabela usando ITableDefinitionWithConstraints::CreateTableWithConstraints ou IOpenRowset::OpenRowset. Para isso, defina o membro eKind do parâmetro pTableID como DBKIND_GUID_NAME e forneça o CLSID_ROWSET_INMEMORY como o membro guid. O nome do tipo de servidor para parâmetro com valor de tabela deve ser especificado no membro pwszName de pTableID ao usar IOpenRowset::OpenRowset. O objeto de conjunto de linhas para parâmetros com valor de tabela se comporta como um objeto do provedor OLE DB do SQL Server Native Client normal.

const GUID CLSID_ROWSET_TVP = 
{0xc7ef28d5, 0x7bee, 0x443f, {0x86, 0xda, 0xe3, 0x98, 0x4f, 0xcd, 0x4d, 0xf9}};

CoType RowsetTVP
{
[mandatory] interface IAccessor;
[mandatory] interface IColumnsInfo;
[mandatory] interface IConvertType;
[mandatory] interface IRowset;
[mandatory] interface IRowsetInfo;
[optional]  interface IColumnsRowset;
[optional]  interface IRowsetChange;
[optional]  interface ISupportErrorInfo;
};

DBTYPE_TABLE

Um tipo novo, DBTYPE_TABLE, representa um tipo de tabela. Esse tipo especifica parâmetros com valor de tabela em várias interfaces OLE DB em que um DBTYPE é obrigatório.

#define DBTYPE_TABLE (143)

DBTYPE_TABLE tem o mesmo formato de DBTYPE_IUNKNOWN. Trata-se de um ponteiro para um objeto no buffer de dados. Para obter a especificação completa nas associações, o consumidor preenche o buffer DBOBJECT, com iid definido como uma das interfaces de objeto de conjunto de linhas (IID_IRowset). Se nenhum DBOBJECT for especificado nas associações, IID_IRowset será assumido.

Não há suporte para conversões de e para DBTYPE_TABLE de qualquer outro tipo. IConvertType::CanConvert retornará S_FALSE em conversão para a qual não há suporte em qualquer solicitação que não seja da conversão de DBTYPE_TABLE em DBTYPE_TABLE. Isso supõe DBCONVERTFLAGS_PARAMETER no Command objeto.

Métodos

Para obter informações sobre métodos OLE DB que oferecem suporte a parâmetros com valor de tabela, consulte Suporte ao tipo de parâmetro com valor de tabela OLE DB(Métodos).

Propriedades

Para obter informações sobre propriedades OLE DB que oferecem suporte a parâmetros com valor de tabela, consulte Suporte ao tipo de parâmetro com valor de tabela de OLE DB (propriedades).

Consulte também

Conceitos