Características de ODBC
Las aplicaciones basadas en ODBC no dependen de ningún DBMS, ni tratan directamente con DBMS. Todas las operaciones de la base de datos las realiza el controlador ODBC del DBMS correspondiente. En otras palabras, se puede acceder a las bases de datos FoxPro, Access, MYSQL u Oracle a través de la API ODBC. Por tanto, la mayor ventaja de ODBC es que puede manejar todas las bases de datos de forma unificada.
Un ODBC completo consta de las siguientes partes:
Una aplicación.
El programa ODBC Manager (Administrador) está ubicado en el ODBC de 32 bits en el Panel de control de Windows 95. Su tarea principal es administrar los controladores ODBC instalados y las fuentes de datos.
Administrador de controladores El administrador de controladores está incluido en ODBC32.DLL y es transparente para el usuario. Su tarea es administrar el controlador ODBC, que es el componente más importante de ODBC.
API ODBC.
Controlador ODBC. Son algunas DLL que proporcionan interfaces entre ODBC y bases de datos.
Fuente de datos. La fuente de datos contiene información como la ubicación de la base de datos, el tipo de base de datos, etc., y en realidad es una abstracción de la conexión de datos.
La relación entre los componentes se muestra en la siguiente figura:
Para acceder a la base de datos, la aplicación primero debe registrar una fuente de datos con el administrador ODBC. El administrador establece una conexión entre ODBC y una base de datos específica basándose en la información proporcionada por la fuente de datos, como la ubicación de la base de datos, el tipo de base de datos y el controlador ODBC. De esta forma, siempre que la aplicación proporcione el nombre de la fuente de datos a ODBC, ODBC puede establecer una conexión con la base de datos correspondiente.
En ODBC, la API de ODBC no puede acceder directamente a la base de datos y debe intercambiar información con la base de datos a través del administrador de controladores. El administrador de controladores es responsable de pasar las llamadas de la aplicación a la API ODBC al controlador correcto. El controlador realiza la operación correspondiente y devuelve los resultados a la aplicación a través del administrador de controladores.
Al acceder a fuentes de datos ODBC, necesita compatibilidad con el controlador ODBC. Con el instalador de Visual C++ 5.0, puede instalar controladores para SQL Server, Access, Paradox, dBase, FoxPro, Excel, Oracle, Microsoft Text, etc. De forma predeterminada, VC5.0 sólo instala controladores para SQL Server, Access, FoxPro y dBase. Si el usuario necesita instalar otros controladores, debe volver a ejecutar el programa de instalación de VC 5.0 y seleccionar el controlador requerido.
ODBC utiliza un enfoque en capas para la gestión de bases de datos. En cada capa de la estructura de comunicación de la base de datos, ODBC introduce interfaces públicas para resolver posibles inconsistencias que puedan existir dependiendo de las características del producto de base de datos, resolviendo así la relativa independencia de las aplicaciones basadas en sistemas de bases de datos. Este es también el objetivo de ODBC una vez que se lanzó. Una de las razones importantes de su gran éxito.
Estructuralmente, ODBC se puede dividir en dos tipos: monohaz y multihaz.
1. Controlador de haz único
El controlador de haz único se encuentra entre la aplicación y la base de datos, y los datos proporcionan un método de acceso a datos unificado como un controlador intermedio. Cuando el usuario opera la base de datos, la aplicación pasa una llamada de función ODBC al administrador del controlador ODBC, y la API de ODBC determina si la llamada es procesada directamente por él y devuelve el resultado o se envía al controlador para su ejecución y devuelve el resultado. Como se puede ver en lo anterior, el controlador de haz único en sí es un motor de base de datos y puede operar la base de datos directamente, aunque la base de datos puede estar ubicada en cualquier lugar de la red.
2. Controlador multihaz
El controlador multihaz es responsable de la transmisión de comandos y datos entre el motor de la base de datos y la aplicación cliente, sirviendo como interfaz para el protocolo de comunicación de red. para operaciones remotas, no se requiere procesamiento de datos. La aplicación de front-end realiza una solicitud de procesamiento de base de datos y la pasa al administrador de controladores ODBC. El administrador de controladores completa la solicitud localmente o la pasa a varios controladores según la solicitud. Varios controladores traducen la solicitud a un formato que la interfaz de comunicación de la base de datos de un fabricante específico (como SQLNet de Oracle) pueda entender y entregarla a la interfaz para su procesamiento. La interfaz transmite la solicitud a través de la red al motor de datos en el servidor. El servidor envía los resultados procesados a la interfaz de comunicación de la base de datos, y la interfaz de la base de datos envía los resultados al controlador ODBC multihaz, que luego envía los resultados a la aplicación. </