Share via


Arquitectura de controladores

La arquitectura del controlador se divide en dos categorías, dependiendo de qué software procese las instrucciones SQL:

  • Controladores basados en archivos El controlador accede directamente a los datos físicos. En este caso, el controlador actúa como controlador y origen de datos; es decir, procesa las llamadas de ODBC y las instrucciones SQL. Por ejemplo, los controladores dBASE son controladores basados en archivos porque dBASE no proporciona un motor de base de datos independiente que el controlador puede usar. Es importante tener en cuenta que los desarrolladores de controladores basados en archivos deben escribir sus propios motores de base de datos.

  • Controladores basados en DBMS El controlador accede a los datos físicos mediante un motor de base de datos independiente. En este caso, el controlador solo procesa llamadas ODBC; pasa instrucciones SQL al motor de base de datos para su procesamiento. Por ejemplo, los controladores de Oracle son controladores basados en DBMS porque Oracle tiene un motor de base de datos independiente que usa el controlador. El lugar de residencia del motor de base de datos es inmaterial. Puede residir en la misma máquina que el controlador o en otra máquina de la red; Incluso se puede acceder a él mediante una puerta de enlace.

La arquitectura del controlador es generalmente interesante solo para los escritores de controladores; es decir, la arquitectura del controlador no suele marcar ninguna diferencia en la aplicación. Sin embargo, la arquitectura puede afectar a si una aplicación puede usar SQL específico de DBMS. Por ejemplo, Microsoft Access proporciona un motor de base de datos independiente. Si un controlador de Microsoft Access está basado en DBMS, accede a los datos mediante este motor, la aplicación puede pasar instrucciones SQL de Microsoft Access al motor para su procesamiento.

Sin embargo, si el controlador está basado en archivos: es decir, contiene un motor propietario que accede directamente al archivo .mdb de Microsoft Access, es probable que los intentos de pasar instrucciones SQL específicas de Microsoft Access al motor produzcan errores de sintaxis. La razón es que es probable que el motor patentado implemente solo SQL de ODBC.

Esta sección contiene los temas siguientes.