Objetos OLE DB utilizados en consultas distribuidas
En la siguiente tabla se muestran los objetos e interfaces OLE DB utilizados por las consultas distribuidas Transact-SQL. Un proveedor OLE DB debe admitir al menos un conjunto mínimo de objetos e interfaces para poder ser utilizado en consultas distribuidas Transact-SQL. Estos objetos e interfaces están marcados con Sí en la columna Obligatorio de la tabla. Los objetos e interfaces que tienen un No en la columna Obligatorio sólo son necesarios para admitir la funcionalidad avanzada de las consultas distribuidas. Si el proveedor no admite la interfaz, tampoco se admite la funcionalidad relacionada de Transact-SQL. Por ejemplo, si no se admiten las interfaces IRowsetLocate e IRowsetChange, las instrucciones UPDATE o DELETE no funcionarán en las tablas remotas.
Objeto | Interfaz | Obligatorio | Descripción |
---|---|---|---|
Data Source |
IDBInitialize |
Sí |
Inicializa y configura el contexto de datos y seguridad. |
|
IDBCreateSession |
Sí |
Crea un objeto DB Session. |
|
IDBProperties |
Sí |
Obtiene información sobre las funciones del proveedor y establece las propiedades de inicialización. |
|
IDBInfo |
No |
Obtiene información acerca de la sintaxis de SQL admitida por el proveedor. |
DB Session |
IDBSchemaRowset |
No |
Obtiene los metadatos de tabla y columna. Los conjuntos de filas necesarios son TABLES y COLUMNS. Otros conjuntos de filas utilizados, si están disponibles, son TABLES_INFO, CATALOGS, INDEXES, STATISTICS, TABLE_STATISTICS, VIEWS, PRIMARY_KEYS, TABLE_PRIVILEGES y COLUMN_PRIVILEGES. |
|
IOpenRowset |
Sí |
Abre un conjunto de filas en una tabla, un índice o un histograma. |
|
IGetDataSource |
Sí |
Regresa al objeto Data Source desde un objeto DB Session. |
|
IDBCreateCommand |
No |
Crea un objeto Command (consulta). |
|
ITransactionLocal |
No |
Inicia una transacción en el proveedor. |
|
ITransactionJoin |
No |
Se utiliza para admitir las transacciones distribuidas. Si no se admite esta interfaz, no se permiten las actualizaciones en un proveedor remoto de una transacción de usuario. |
Rowset (en una tabla) |
IRowset |
Sí |
Recorre las filas. |
|
IAccessor |
Sí |
Establece un enlace con las columnas de un conjunto de filas. |
|
IColumnsInfo |
Sí |
Obtiene información sobre las columnas de un conjunto de filas. |
|
IRowsetInfo |
Sí |
Obtiene información sobre las propiedades del conjunto de filas. |
|
IRowsetLocate |
No |
Necesario para las operaciones UPDATE o DELETE y las búsquedas basadas en índices. |
|
IRowsetChange |
No |
Necesario para las operaciones INSERT, UPDATE o DELETE en una tabla. Los conjuntos de filas en tablas base deben aceptar esta interfaz para admitir instrucciones INSERT, UPDATE o DELETE. |
|
IConvertType |
Sí |
Comprueba si un conjunto de filas admite conversiones específicas de tipos de datos en sus columnas. |
Rowset (en un índice) |
IRowset |
Sí |
Recorre las filas. |
|
IAccessor |
Sí |
Establece un enlace con las columnas de un conjunto de filas. |
|
IColumnsInfo |
Sí |
Obtiene información sobre las columnas de un conjunto de filas. |
|
IRowsetInfo |
Sí |
Obtiene información sobre las propiedades del conjunto de filas. |
|
IRowsetIndex |
Sí |
Necesario para los conjuntos de filas de un índice; se usa para la funcionalidad de indización (establecimiento de intervalos, búsquedas). |
|
IConvertType |
Sí |
Comprueba si el conjunto de filas admite determinadas conversiones de tipos de datos en sus columnas. |
Command (opcional) |
ICommand |
Sí |
Se utiliza para ejecutar consultas. |
|
ICommandText |
Sí |
Se utiliza para definir el texto de la consulta. |
|
ICommandProperties |
Sí |
Especifica propiedades necesarias en conjuntos de filas devueltos por el comando. |
|
ICommandWithParameters |
No |
Se utiliza para la ejecución de consultas con parámetros. |
|
ICommandPrepare |
No |
Se utiliza para preparar un comando para obtener metadatos. |
Error (opcional) |
IErrorRecords |
Sí |
Obtiene un puntero a una interfaz IErrorInfo para un registro de error. |
|
IErrorInfo |
Sí |
Obtiene una descripción de texto de un registro de error. |
Cualquier objeto (opcional) |
ISupportErrorInfo |
No |
Determina si una interfaz especificada admite objetos de error. |
Vea también
Conceptos
Referencia del proveedor OLE DB para consultas distribuidas