Compartilhar via


Objetos OLE DB consumidos por consultas distribuídas

A tabela a seguir mostra os objetos e interfaces OLE DB consumidos por consultas distribuídas Transact-SQL. Um provedor OLE DB deve oferecer suporte a pelo menos um conjunto mínimo de objetos e interfaces para que possa ser usado em qualquer consulta distribuída Transact-SQL. Esses objetos e interfaces são marcados com um Sim na coluna Necessário da tabela. Objetos e interfaces com um Não na coluna Necessário são necessários apenas para oferecer suporte avançado à funcionalidade de consultas distribuídas. Se a interface não tiver suporte do provedor, a funcionalidade Transact-SQL relacionada não terá suporte. Por exemplo, se as interfaces IRowsetLocate e IRowsetChange não tiverem suporte, as instruções UPDATE ou DELETE não funcionarão em tabelas remotas.

Objeto

Interface

Necessário

Descrição

Fonte de Dados

IDBInitialize

Sim

Inicializa e configura contexto de dados e segurança.

 

IDBCreateSession

Sim

Cria um objeto Sessão de BD.

 

IDBProperties

Sim

Obtém informações sobre as capacidades do provedor e define propriedades de inicialização.

 

IDBInfo

Não

Obtém informações sobre a sintaxe SQL com suporte do provedor.

Sessão de BD

IDBSchemaRowset

Não

Obtém metadados de tabela e coluna. Os conjuntos de linhas necessários são TABLES e COLUMNS. Outros conjuntos de linhas usados, se disponíveis, são TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES e COLUMN_PRIVILEGES.

 

IOpenRowset

Sim

Abre um conjunto de linhas em uma tabela, índice ou histograma.

 

IGetDataSource

Sim

Retorna ao objeto de fonte de dados de um objeto de Sessão de BD.

 

IDBCreateCommand

Não

Cria um objeto Command (consulta).

 

ITransactionLocal

Não

Inicia uma transação no provedor.

 

ITransactionJoin

Não

Usado para suporte de transação distribuída. Se essa interface não tiver suporte, não serão permitidas atualizações em um provedor remoto em uma transação de usuário.

Conjunto de linhas (em uma tabela)

IRowset

Sim

Examina linhas.

 

IAccessor

Sim

Associa a colunas em um conjunto de linhas.

 

IColumnsInfo

Sim

Obtém informações sobre colunas em um conjunto de linhas.

 

IRowsetInfo

Sim

Obtém informações sobre propriedades de conjunto de linhas.

 

IRowsetLocate

Não

Necessário para operações de UPDATE ou DELETE e pesquisas baseadas em índice.

 

IRowsetChange

Não

Necessário para operações INSERT, UPDATE ou DELETE em uma tabela. Conjuntos de linhas em tabelas base devem oferecer suporte a essa interface para oferecer suporte às instruções INSERT, UPDATE ou DELETE.

 

IConvertType

Sim

Verifica se um conjunto de linhas oferece suporte a conversões de tipo de dados específicos em suas colunas.

Conjunto de linhas (em um índice)

IRowset

Sim

Examina linhas.

 

IAccessor

Sim

Associa a colunas em um conjunto de linhas.

 

IColumnsInfo

Sim

Obtém informações sobre colunas em um conjunto de linhas.

 

IRowsetInfo

Sim

Obtém informações sobre propriedades de conjunto de linhas.

 

IRowsetIndex

Sim

Necessário para conjuntos de linhas em um índice. Usado para funcionalidade de indexação (definir intervalo, buscar).

 

IConvertType

Sim

Verifica se o conjunto de linhas oferece suporte a conversões de tipo de dados específicos em suas colunas.

Command (opcional)

ICommand

Sim

Usado para executar consultas.

 

ICommandText

Sim

Usado para definir o texto da consulta.

 

ICommandProperties

Sim

Especifica propriedades necessárias em conjuntos de linhas retornados pelo comando.

 

ICommandWithParameters

Não

Usado para execução de consulta parametrizada.

 

ICommandPrepare

Não

Usado por preparar um comando para obter metadados.

Erro (opcional)

IErrorRecords

Sim

Obtém um ponteiro para uma interface IErrorInfo para um registro de erro.

 

IErrorInfo

Sim

Obtém uma descrição de texto de um registro de erro.

Qualquer objeto (opcional)

ISupportErrorInfo

Não

Determina se uma interface especificada oferece suporte a objetos de erro.