Red de conocimiento informático - Problemas con los teléfonos móviles - sun.jdbc.odbc.jdbcodbcdriver pertenece al tipo en JDBC

sun.jdbc.odbc.jdbcodbcdriver pertenece al tipo en JDBC

Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver) Modo de controlador local JDBC

Class.forName(sun.jdbc.odbc.jdbcodbcdriver) Modo puente JDBC-ODBC

[size=xx-large][size=x-large]1. JDBC tiene varios tipos de controladores:

tipo 1: puente jdbc-odbc

tipo. 2: controlador api local

tipo 3: controlador de protocolo de red

tipo 4: controlador de protocolo local

Tipo 1: puente jdbc-odbc

El puente Jdbc-odbc lo proporciona Sun Company y es la API estándar proporcionada por jdk. Este tipo de controlador en realidad pasa todas las llamadas jdbc a odbc y luego odbc llama al código del controlador de la base de datos local (el código del controlador de la base de datos local se refiere). la biblioteca de código binario de operación de la base de datos proporcionada por el fabricante de la base de datos, por ejemplo, en Oracle para Windows, es el archivo oci dll)

puente jdbc-odbc---- odbc---- Código DB del fabricante -- --- Servidor de base de datos

(Figura 1)

Siempre que la máquina local esté equipada con el controlador odbc correspondiente, se puede acceder a casi todas las bases de datos mediante jdbc-odbc. puente El método jdbc-odbc es adecuado para aplicaciones donde el cliente ya tiene un controlador odbc aún es factible. Sin embargo, dado que jdbc-odbc primero llama a odbc y luego odbc llama a la interfaz de la base de datos local para acceder a la base de datos, la eficiencia de ejecución es relativamente. low, que no es adecuado para aplicaciones que acceden a grandes cantidades de datos. Además, este método requiere que el cliente instale el controlador odbc, por lo que no es adecuado para aplicaciones basadas en Internet e intranet. para encontrar el controlador odbc.

Tipo 2: controlador API local

El controlador API local convierte directamente las llamadas jdbc en llamadas estándar a la base de datos y luego accede a la base de datos. código del controlador de la base de datos

Controlador API local ---- Código de la base de datos del fabricante ----- Servidor de base de datos

(Figura 2)

Este controlador tiene muchas ventajas. eficiencia de ejecución mejorada en comparación con el puente jdbc-odbc. Sin embargo, aún es necesario cargar la biblioteca de código proporcionada por el fabricante de la base de datos en el cliente. Esto no es adecuado para aplicaciones basadas en Internet. en comparación con los controladores jdbc de tipo 3 y 4.

Tipo 3: controlador de protocolo de red

Este controlador en realidad está construido en base a la estructura de tres niveles con la que estamos familiarizados. Solicite la biblioteca logarítmica al servidor de middleware en la red. El servidor de middleware luego solicita la traducción.

Para cumplir con la llamada de especificación de la base de datos, esta llamada se pasa al servidor de la base de datos. Si el servidor de middleware también está desarrollado en Java, entonces el controlador jdbc de tipo 1 y 2 también se puede usar en la capa intermedia como método para. acceda a la base de datos

Controlador de protocolo de red---------servidor de middleware------------servidor de base de datos

(Figura 3)

Dado que este controlador se basa en el servidor, no necesita cargar la biblioteca de código proporcionada por el fabricante de la base de datos en el cliente. Además, es mejor en términos de eficiencia de ejecución y escalabilidad porque la mayoría de las funciones son. implementado en el extremo del servidor, por lo que este controlador puede diseñarse para que sea muy pequeño y se pueda cargar en la memoria muy rápidamente. Sin embargo, este controlador aún necesita configurar otros controladores de base de datos en la capa intermedia, y debido a que hay una capa intermedia adicional. para transmitir datos, La eficiencia de ejecución no es la mejor

Controlador de protocolo local Type4

Este controlador convierte directamente las llamadas jdbc en solicitudes que cumplen con las especificaciones relevantes del sistema de base de datos. por controladores tipo 4 Puede comunicarse directamente con el servidor de base de datos. Este tipo de controlador está completamente implementado en Java, logrando así independencia de plataforma

Controlador de protocolo local---------Servidor de base de datos

p>

(Figura 4)

Dado que este controlador no necesita pasar la llamada jdbc a odbc o a la interfaz de la base de datos local o al servidor de nivel medio, su eficiencia de ejecución es muy alta. No es necesario cargar ningún software ni controlador en el cliente o servidor. Este controlador se puede descargar dinámicamente. Sin embargo, es necesario descargar diferentes controladores para diferentes bases de datos.

Los cuatro tipos anteriores El controlador jdbc. Entonces, ¿para qué tipo de desarrollo de aplicaciones son adecuados? Debido a su baja eficiencia de ejecución, el puente Jdbc-odbc es más adecuado como solución provisional al desarrollar aplicaciones, o también es más adecuado para que los principiantes comprendan la programación JDBC. Para aquellas aplicaciones que requieren grandes cantidades de operaciones de datos, se deben considerar los controladores de tipo 2, 3 y 4. Para aplicaciones de intranet, se pueden considerar los controladores de tipo 2, pero debido a que los controladores de tipo 3 y 4 son más eficientes en la ejecución que los controladores de tipo 2. Tiene ventajas obvias y la tendencia de desarrollo actual es utilizar Java puro. Por lo tanto, también se pueden considerar los controladores de tipo 3 y 4. En cuanto a las aplicaciones basadas en Internet, solo se pueden considerar los controladores de tipo 3 y 4. Los controladores de base de datos se pueden configurar en el servidor de nivel medio. Por lo tanto, los controladores de tipo 3 son los más adecuados para aplicaciones que necesitan conectarse a varios tipos diferentes de bases de datos al mismo tiempo y tienen altos requisitos para conexiones simultáneas. para aquellos que se conectan a una única aplicación de grupo de trabajo.