¿Qué es JDBC? ¿Qué es ODBC? ¿Y cuál es la diferencia entre ellos? (Sea específico, ¿gracias?)
----Muchos sistemas de bases de datos actualmente admiten SQL. Para sistemas de bases de datos heterogéneos compuestos por bases de datos SQL, JDBC y ODBC proporcionan una forma unificada de acceder a sus miembros heterogéneos y también proporcionan una forma unificada para sistemas de bases de datos heterogéneos. para acceder a sus miembros heterogéneos. Sienta las bases para la colaboración entre miembros y operaciones en múltiples miembros. Este artículo presenta brevemente los principios y aplicaciones de JDBC y ODBC para el acceso unificado y la colaboración a varias bases de datos heterogéneas.
ODBC
----ODBC (Open DataBase Connectivity) es una interfaz de programación de aplicaciones (API) para el acceso a bases de datos defendida por Microsoft y actualmente ampliamente aceptada por la industria. se basa en las especificaciones de la interfaz de nivel de llamada (CLI) de X/Open e ISO/IEC y utiliza lenguaje de consulta estructurado (SQL) como lenguaje de acceso a la base de datos. La estructura general de ODBC tiene cuatro componentes:
----· La aplicación realiza el procesamiento y llama a las funciones API de ODBC para enviar declaraciones SQL y recuperar resultados.
----· Driver Manager (Administrador de controladores) Carga/descarga controladores según las necesidades de la aplicación, maneja llamadas a funciones ODBC o se las pasa al controlador.
----· Controlador: Procesa llamadas a funciones ODBC, envía solicitudes SQL a una fuente de datos específica y devuelve los resultados a la aplicación. Si es necesario, el controlador modifica una solicitud de aplicación para que sea coherente con la sintaxis admitida por el DBMS asociado.
----· La fuente de datos incluye los datos a los que el usuario desea acceder y su sistema operativo relacionado, DBMS y la plataforma de red utilizada para acceder al DBMS.
----El uso de controladores ODBC aísla las aplicaciones de llamadas de bases de datos específicas. El administrador de controladores administra centralmente cada controlador para una base de datos específica y proporciona una interfaz estándar unificada que sienta las bases para la apertura de ODBC.
----Independencia de la base de datos
----ODBC está diseñado para una máxima interoperabilidad, lo que requiere que una aplicación utilice el mismo código fuente (sin recompilar) ni volver a vincular) la capacidad de acceder a diferentes sistemas de gestión de bases de datos (DBMS).
----ODBC define una interfaz de capa de llamada (CLI) estándar. Contiene todas las funciones de las especificaciones CLI X/Open e ISO/IEC y proporciona funciones adicionales que las aplicaciones suelen necesitar. Cada DBMS que admite ODBC requiere una biblioteca o controlador diferente, y el controlador implementa las funciones en la API de ODBC. Cuando es necesario cambiar el controlador, no es necesario volver a compilar ni vincular la aplicación. Simplemente carga dinámicamente el nuevo controlador y llama a las funciones que contiene. Si desea acceder a varios sistemas DBMS al mismo tiempo, la aplicación puede cargar varios controladores. La compatibilidad del controlador depende del sistema operativo; por ejemplo, en los sistemas operativos Windows, el controlador es una biblioteca de vínculos dinámicos (DLL).
----El uso de las mismas aplicaciones de código fuente para acceder a diferentes DBMS refleja la independencia de la base de datos de ODBC.
----Soporte para funciones especiales de bases de datos
----Cada DBMS hace referencia a diferentes estándares y proporciona diferentes funciones ¿Cómo pueden las aplicaciones usar cada base de datos con una interfaz unificada? ¿Acerca de las funciones específicas de DBMS?
----Por un lado, ODBC define interfaces públicas para todas las funciones DBMS. Estas funciones DBMS admiten más que la mayoría de los DBMS, pero solo requieren que el controlador implemente un subconjunto de estas funciones. ODBC, por otro lado, define una capa de conformidad de sintaxis API y SQL, que especifica la funcionalidad básica que debe admitir el controlador.
ODBC también proporciona dos funciones (SQLGetInfo y SQLGetFunctions) que devuelven información general sobre el controlador y las capacidades DBMS y una lista de funciones admitidas por el controlador. Por lo tanto, la aplicación puede comprobar las características especiales admitidas por el DBMS.
----De esta forma, al escribir una aplicación, se pueden comprobar y utilizar automáticamente las funciones especiales soportadas por el DBMS correspondiente a cada controlador. La ventaja de esto es que cuando se agregan las funciones admitidas por el DBMS, no es necesario cambiar la aplicación. Simplemente instale el controlador actualizado y la aplicación podrá descubrir y utilizar estas funciones automáticamente.
----Interoperabilidad
----Capacidad de acceder a múltiples sistemas DBMS al mismo tiempo mediante el uso de múltiples controladores. El Administrador de controladores proporcionado por ODBC implementa todas las funciones de ODBC, la mayoría de las cuales pasan llamadas a las funciones de ODBC en el controlador y vinculan estáticamente la aplicación o la cargan cuando la aplicación se está ejecutando. De esta manera, las aplicaciones llaman a las funciones ODBC del controlador por su nombre en el Administrador de controladores, en lugar de mediante punteros en cada controlador. Cuando una aplicación necesita pasar por un controlador específico, primero necesita un identificador de conexión que identifique el controlador. Driver Manager carga controladores y almacena las direcciones de funciones en cada controlador. Para hacer que el controlador llame a una función ODBC, la aplicación llama a la función en el Administrador de controladores y pasa el identificador de conexión al controlador, y luego el Administrador de controladores usa la dirección previamente almacenada para llamar a la función.
----ODBC se puede conectar a múltiples DBMS al mismo tiempo, resolviendo el problema de acceder a múltiples DBMS al mismo tiempo y brindando la capacidad de interoperar entre bases de datos de miembros heterogéneos.
JDBC
----JDBC (Java DataBase Connectivity) es la especificación de interfaz entre Java y la base de datos. JDBC define una interfaz universal de programación de aplicaciones de bajo nivel que admite funciones SQL estándar (. API), que consta de clases e interfaces escritas en el lenguaje Java, con el objetivo de permitir a los desarrolladores de bases de datos proporcionar API de bases de datos estándar para programadores de Java. La API JDBC define varias clases en Java, que representan conexiones de bases de datos, instrucciones SQL, conjuntos de resultados, metadatos de bases de datos, etc. Permite a los programadores de Java enviar instrucciones SQL y procesar los resultados. A través del administrador de controladores, la API JDBC puede utilizar diferentes controladores para conectarse a diferentes sistemas de bases de datos.
----JDBC y ODBC son interfaces de nivel de llamada SQL basadas en X/Open. El diseño de JDBC sigue ideológicamente a ODBC y también sigue a ODBC en su abstracción principal y en su implementación de CLI de SQL. hace que JDBC sea fácilmente aceptado. La estructura general de JDBC es similar a ODBC y tiene cuatro componentes: aplicación, administrador de controladores, controlador y fuente de datos.
----JDBC mantiene las características básicas de ODBC y además es independiente de bases de datos específicas. Las aplicaciones que utilizan el mismo código fuente pueden acceder a diferentes DBMS cargando dinámicamente diferentes controladores JDBC. Al conectarse a diferentes DBMS, cada DBMS solo se identifica mediante diferentes URL. La interfaz DatabaseMetaData de JDBC proporciona una serie de métodos para comprobar la compatibilidad del DBMS con funciones específicas y determinar en consecuencia qué funciones están disponibles para admitir las funciones de una base de datos específica. Al igual que ODBC, JDBC también admite el establecimiento simultáneo de múltiples conexiones de bases de datos en aplicaciones. JDBC puede usar fácilmente declaraciones SQL para acceder a múltiples bases de datos heterogéneas al mismo tiempo, sentando las bases para la interoperabilidad entre bases de datos heterogéneas.
----Sin embargo, además de las características anteriores de ODBC, JDBC también admite la heterogeneidad de plataformas de hardware y sistemas operativos.
Esto se debe principalmente a que ODBC usa el lenguaje C, mientras que JDBC usa el lenguaje Java. El lenguaje Java tiene muchas ventajas, como independencia de plataforma, gran portabilidad, alta seguridad, buena estabilidad, distribuido, orientado a objetos, etc., y JDBC garantiza una solución "100% Java pura", aprovechando la independencia de plataforma de Java, Aplicaciones JDBC Naturalmente, puede implementar funciones multiplataforma, lo que las hace más adecuadas para aplicaciones de bases de datos en entornos heterogéneos en Internet.
----Además, el administrador de controladores JDBC está integrado y el controlador en sí se puede descargar automáticamente a través de un navegador web sin instalación ni configuración, mientras que el administrador de controladores ODBC y el controlador ODBC deben instalarse; y configurar por separado en cada computadora cliente.
Aplicaciones de JDBC y ODBC en Internet
----JDBC y ODBC brindan acceso a bases de datos heterogéneas en Internet debido a su independencia de base de datos e incluso independencia de plataforma. Muy buen soporte. .
----El acceso a bases de datos en Internet suele utilizar un modelo de tres niveles. Tomando JDBC como ejemplo, en el modelo de tres niveles, el subprograma Java del cliente se utiliza principalmente como interfaz de usuario. No intercambia información directamente con la base de datos, sino que interactúa con el servidor de aplicaciones a través de un protocolo de red de capa de aplicación personalizado. El servidor de aplicaciones intercambia información con el servidor de bases de datos a través de JDBC e implementa la lógica de la aplicación. Los controladores JDBC y ODBC de DM3 son compatibles con las tecnologías ASP y JSP actualmente populares y pueden acceder simultáneamente a múltiples bases de datos heterogéneas en Internet con la ayuda de ODBC y JDBC respectivamente.
----ASP es una tecnología orientada al servidor web y el navegador del cliente no requiere ningún soporte de software adicional. ASP utiliza un lenguaje de secuencias de comandos como VBScript, que incorpora algún tipo de código de programa en el código HTML. El código HTML es responsable de describir el estilo de visualización de la información y el código del programa incorporado describe la lógica de procesamiento. En ASP, el motor ASP interpreta y ejecuta el código VBScript en el servidor web, y los resultados de la ejecución se vuelven a incrustar en el código HTML y luego se envían juntos al navegador. Aquí, el código VBScript puede acceder a múltiples bases de datos heterogéneas a través de ODBC.
----JSP es una tecnología de desarrollo web basada en Java Servlet. Es muy similar a ASP, pero existen diferencias: en JSP, el código del programa incrustado en la página HTML es código Java; El código del programa incorporado se compila en un servlet (esta operación de compilación ocurre solo en la primera solicitud a la página JSP) y lo ejecuta la máquina virtual Java. El código Java aquí puede acceder a múltiples bases de datos heterogéneas a través de JDBC, y su independencia de plataforma es particularmente buena. Actualmente, hay cada vez más aplicaciones de bases de datos en Internet, y JDBC y ODBC seguramente desempeñarán un papel importante en el acceso heterogéneo a bases de datos en Internet.