Compartir a través de


Plantillas de proveedores OLE DB (C++)

OLE DB es una parte importante de la estrategia de acceso universal a los datos de Microsoft. El diseño OLE DB permite el acceso a datos de alto rendimiento desde cualquier origen de datos. Cualquier dato tabular se puede ver a través de OLE DB independientemente de si procede de una base de datos. La flexibilidad le concede una gran cantidad de poder.

Como se explica en Consumidores y proveedores de OLE DB, OLE DB usa el concepto de consumidores y proveedores. El consumidor realiza solicitudes de datos; el proveedor devuelve datos en un formato tabular al consumidor. Desde una perspectiva de programación, la implicación más importante de este modelo es que el proveedor debe implementar cualquier llamada que pueda realizar el consumidor.

¿Qué es un proveedor?

Un proveedor OLE DB es un conjunto de objetos COM que atiende llamadas de interfaz desde un objeto de consumidor, transfiriendo datos en un formato tabular desde un origen duradero (denominado almacén de datos) al consumidor.

Los proveedores pueden ser simples o complejos. El proveedor puede admitir una cantidad mínima de funcionalidad o un actuar como proveedor de calidad de producción completo mediante la implementación de más interfaces. Un proveedor puede devolver una tabla, permitir al cliente determinar el formato de esa tabla y realizar operaciones en esos datos.

Cada proveedor implementa un conjunto estándar de objetos COM para controlar las solicitudes del cliente, con el significado estándar de que cualquier consumidor OLE DB pueda acceder a los datos de cualquier proveedor, independientemente del lenguaje (como C++ y Basic).

Cada objeto COM contiene varias interfaces, algunas de las cuales son necesarias y otras de las cuales son opcionales. Al implementar las interfaces obligatorias, un proveedor garantiza un nivel mínimo de funcionalidad (denominado cumplimiento) que cualquier cliente debe poder usar. Un proveedor puede implementar interfaces opcionales para proporcionar funcionalidad adicional. La arquitectura de plantillas del proveedor OLE DB describe estas interfaces con detalle. El cliente siempre debe llamar a QueryInterface para determinar si un proveedor admite una interfaz determinada.

Compatibilidad con el nivel de especificación OLE DB

Las plantillas del proveedor OLE DB admiten la versión 2.7 de la especificación de OLE DB. Con las plantillas del proveedor OLE DB, puede implementar un proveedor compatible de nivel 0. El ejemplo Provider, por nombrar uno, usa las plantillas para implementar un servidor de comandos que no sea SQL (MS-DOS) y que ejecute el comando DIR de DOS para consultar el sistema de archivos. El ejemplo Provider devuelve la información de directorio en un conjunto de filas, que es el mecanismo OLE DB estándar para devolver datos tabulares.

El tipo más sencillo de proveedor admitido por las plantillas OLE DB es un proveedor de solo lectura sin comandos. También se admiten proveedores con comandos, ya que son características de marcación y lectura y escritura. Puede implementar un proveedor de lectura y escritura escribiendo código adicional. Los conjuntos de filas dinámicos y las transacciones no son compatibles con la versión actual, pero puede agregarlos si lo desea.

¿Cuándo necesita crear un proveedor OLE DB?

No siempre es necesario crear su propio proveedor; Microsoft proporciona varios proveedores precompilados y estándar en el cuadro de diálogo Propiedades del vínculo de datos en Visual C++. La razón principal para crear un proveedor OLE DB es aprovechar la estrategia de acceso universal a los datos. Algunas de las ventajas de hacerlo son:

  • Acceso a datos a través de cualquier lenguaje, como C++, Basic y Visual Basic Scripting Edition. Permite a los distintos programadores de su organización acceder a los mismos datos de la misma manera, independientemente del lenguaje que usen.

  • Apertura de los datos en otros orígenes de datos, como SQL Server, Excel y Access. Esto puede ser útil si desea transferir datos entre distintos formatos.

  • Participación en operaciones entre orígenes de datos (heterogéneas). Puede ser una forma eficaz de almacenamiento de datos. Mediante el uso de proveedores OLE DB, puede mantener los datos en su formato nativo y seguir accediendo a ellos en una operación sencilla.

  • Adición de características adicionales a los datos, como el procesamiento de consultas.

  • Aumento del rendimiento del acceso a los datos mediante el control de su manipulación.

  • Aumento de la solidez. Si tiene un formato de datos propietario al que solo un programador puede acceder, está en riesgo. Con proveedores OLE DB, puede abrir ese formato propietario para todos los programadores.

Proveedores de solo lectura y actualizables

Los proveedores pueden variar considerablemente en complejidad y funcionalidad. Resulta útil clasificar los proveedores en proveedores de solo lectura y proveedores actualizables:

  • Visual C++ 6.0 solo admite proveedores de solo lectura. La creación de un proveedor OLE DB describe cómo crear un proveedor de solo lectura.
  • Visual C++ admite proveedores actualizables que pueden actualizar el almacén de datos (escribir en él). Para obtener información sobre los proveedores actualizables, vea Creación de un proveedor actualizable; el ejemplo UpdatePV es un ejemplo de un proveedor actualizable.

Para más información, consulte:

Consulte también

Acceso a datos
Documentación del SDK de OLE DB
Referencia del programador de OLE DB