Share via


Objets OLE DB utilisés par les requêtes distribuées

Le tableau ci-dessous répertorie les objets et les interfaces OLE DB qui sont utilisés par les requêtes distribuées Transact-SQL. Un fournisseur OLE DB doit au moins prendre en charge un ensemble minimal de ces objets et interfaces pour pouvoir être utilisé dans des requêtes distribuées Transact-SQL. Ces objets et interfaces comportent un Oui dans la colonne Requis du tableau. Les objets et les interfaces affectés de la valeur Non dans la colonne Requis sont requis uniquement pour prendre en charge les fonctionnalités avancées des requêtes distribuées. Si l'interface n'est pas prise en charge par le fournisseur, la fonctionnalité Transact-SQL correspondante ne l'est pas non plus. Par exemple, si les interfaces IRowsetLocate et IRowsetChange ne sont pas prises en charge, les instructions UPDATE et DELETE ne fonctionnent pas sur les tables distantes.

Objet

Interface

Obligatoire

Description

Data Source

IDBInitialize

Oui

Initialise et configure les données et le contexte de sécurité.

 

IDBCreateSession

Oui

Crée un objet DB Session.

 

IDBProperties

Oui

Permet d'obtenir des informations sur les fonctions d'un fournisseur et de définir des propriétés d'initialisation.

 

IDBInfo

Non

Permet d'obtenir des informations sur la syntaxe SQL prise en charge par le fournisseur.

DB Session

IDBSchemaRowset

Non

Permet d'obtenir des métadonnées sur les tables et les colonnes. Les ensembles de lignes requis sont TABLES et COLUMNS. Les autres ensembles de lignes utilisés, s'ils sont disponibles, sont TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES et COLUMN_PRIVILEGES.

 

IOpenRowset

Oui

Ouvre un ensemble de lignes sur une table, un index ou un histogramme.

 

IGetDataSource

Oui

Permet de revenir à l'objet source de données à partir d'un objet DB Session.

 

IDBCreateCommand

Non

Crée un objet Command (requête).

 

ITransactionLocal

Non

Démarre une transaction sur le fournisseur.

 

ITransactionJoin

Non

Cette interface permet de prendre en charge les transactions distribuées. Si elle n'est pas prise en charge, il n'est pas possible d'effectuer de mise à jour sur un fournisseur distant dans une transaction utilisateur.

Rowset (sur une table)

IRowset

Oui

Analyse les lignes.

 

IAccessor

Oui

Établit des liaisons avec des colonnes d'un ensemble de lignes.

 

IColumnsInfo

Oui

Permet d'obtenir des informations sur les colonnes d'un ensemble de lignes.

 

IRowsetInfo

Oui

Permet d'obtenir des informations sur les propriétés d'un ensemble de lignes.

 

IRowsetLocate

Non

Obligatoire pour les opérations UPDATE ou DELETE et les recherches basées sur les index.

 

IRowsetChange

Non

Obligatoire pour les opérations INSERT, UPDATE et DELETE sur une table. Les ensembles de lignes des tables de base doivent être compatibles avec cette interface pour pouvoir prendre en charge les instructions INSERT, UPDATE et DELETE.

 

IConvertType

Oui

Vérifie si un ensemble de lignes prend en charge des conversions de types de données spécifiques sur ses colonnes.

Rowset (sur un index)

IRowset

Oui

Analyse les lignes.

 

IAccessor

Oui

Établit des liaisons avec des colonnes d'un ensemble de lignes.

 

IColumnsInfo

Oui

Permet d'obtenir des informations sur les colonnes d'un ensemble de lignes.

 

IRowsetInfo

Oui

Permet d'obtenir des informations sur les propriétés d'un ensemble de lignes.

 

IRowsetIndex

Oui

Obligatoire pour les ensembles de lignes d'un index ; utilisée avec la fonctionnalité d'indexation (définition de plages, recherche).

 

IConvertType

Oui

Vérifie si l'ensemble de lignes prend en charge les conversions de types de données spécifiques sur ses colonnes.

Command (facultatif)

ICommand

Oui

Permet d'exécuter des requêtes.

 

ICommandText

Oui

Permet de définir le texte de la requête.

 

ICommandProperties

Oui

Permet de spécifier les propriétés requises sur des ensembles de lignes retournés par la commande.

 

ICommandWithParameters

Non

Utilisé pour exécuter des requêtes paramétrées.

 

ICommandPrepare

Non

Utilisé pour préparer une commande permettant d'obtenir des métadonnées.

Error (facultatif)

IErrorRecords

Oui

Permet de définir un pointeur sur une interface IErrorInfo pour un enregistrement d'erreur.

 

IErrorInfo

Oui

Permet d'obtenir une description (texte) d'un enregistrement d'erreur.

Any object (facultatif)

ISupportErrorInfo

Non

Détermine si une interface spécifiée prend en charge les objets erreur.