Share via


Controladores basados en DBMS

Los controladores basados en DBMS se usan con orígenes de datos como Oracle o SQL Server que proporcionan un motor de base de datos independiente para que el controlador lo use. Estos controladores acceden a los datos físicos a través del motor independiente; es decir, envían instrucciones SQL a y recuperan los resultados del motor.

Dado que los controladores basados en DBMS usan un motor de base de datos existente, suelen ser más fáciles de escribir que los controladores basados en archivos. Aunque un controlador basado en DBMS se puede implementar fácilmente mediante la traducción de llamadas ODBC a llamadas API nativas, esto da como resultado un controlador más lento. Una mejor manera de implementar un controlador basado en DBMS es usar el protocolo de flujo de datos subyacente, que suele ser lo que hace la API nativa. Por ejemplo, un controlador de SQL Server debe usar TDS (el protocolo de flujo de datos para SQL Server) en lugar de biblioteca de base de datos (la API nativa para SQL Server). Una excepción a esta regla es cuando ODBC es la API nativa. Por ejemplo, Watcom SQL es un motor independiente que reside en la misma máquina que la aplicación y se carga directamente como el controlador.

Los controladores basados en DBMS actúan como el cliente en una configuración de cliente o servidor donde el origen de datos actúa como servidor. En la mayoría de los casos, el cliente (controlador) y el servidor (origen de datos) residen en diferentes máquinas, aunque ambos podrían residir en la misma máquina que ejecuta un sistema operativo multitarea. Una tercera posibilidad es una puerta de enlace, que se encuentra entre el controlador y el origen de datos. Una puerta de enlace es un fragmento de software que hace que un DBMS tenga un aspecto similar a otro. Por ejemplo, las aplicaciones escritas para usar SQL Server también pueden acceder a los datos de DB2 a través de la puerta de enlace db2 de Micro Decisionware; este producto hace que DB2 tenga un aspecto similar a SQL Server.

En la ilustración siguiente se muestran tres configuraciones diferentes de controladores basados en DBMS. En la primera configuración, el controlador y el origen de datos residen en la misma máquina. En el segundo, el controlador y el origen de datos residen en diferentes máquinas. En la tercera parte, el controlador y el origen de datos residen en máquinas diferentes y una puerta de enlace se encuentra entre ellos, residiendo en otra máquina.

Three configurations for DBMS-based drivers