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. |
Voir aussi
Concepts
Éléments de référence du fournisseur OLE DB pour les requêtes distribuées