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. |