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

Inicializa y configura el contexto de datos y seguridad.

 

IDBCreateSession

Crea un objeto DB Session.

 

IDBProperties

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

Abre un conjunto de filas en una tabla, un índice o un histograma.

 

IGetDataSource

Regresa al objeto de origen 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

Recorre las filas.

 

IAccessor

Establece un enlace con las columnas de un conjunto de filas.

 

IColumnsInfo

Obtiene información sobre las columnas de un conjunto de filas.

 

IRowsetInfo

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

Comprueba si un conjunto de filas admite conversiones específicas de tipos de datos en sus columnas.

Rowset (en un índice)

IRowset

Recorre las filas.

 

IAccessor

Establece un enlace con las columnas de un conjunto de filas.

 

IColumnsInfo

Obtiene información sobre las columnas de un conjunto de filas.

 

IRowsetInfo

Obtiene información sobre las propiedades del conjunto de filas.

 

IRowsetIndex

Necesario para los conjuntos de filas de un índice; se usa para la funcionalidad de indización (establecimiento de intervalos, búsquedas).

 

IConvertType

Comprueba si el conjunto de filas admite determinadas conversiones de tipos de datos en sus columnas.

Command (opcional)

ICommand

Se utiliza para ejecutar consultas.

 

ICommandText

Se utiliza para definir el texto de la consulta.

 

ICommandProperties

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

Obtiene un puntero a una interfaz IErrorInfo para un registro de error.

 

IErrorInfo

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.