English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

类型驱动程序 JDBC

¿Qué es un controlador JDBC?

Los controladores JDBC implementan las interfaces definidas en el JDBC API para interactuar con el servidor de base de datos.

Por ejemplo, utilizando el controlador JDBC, puede abrir una conexión a la base de datos y realizar interacciones con ella mediante el envío de comandos SQL o de base de datos y la recepción de resultados utilizando Java.

JDK incluido Java.sql El paquete contiene varias clases que definen su comportamiento, y su implementación real se realiza en el controlador de terceros. Los proveedores de terceros implementan en sus controladores de bases de datos java.sql.Driver interfaz.

Tipos de controlador JDBC

La implementación de los controladores JDBC varía según los múltiples sistemas operativos y plataformas de hardware en los que se ejecuta Java. Sun clasificó las implementaciones en cuatro tipos, es decir, el tipo123y4a continuación, se lo explicaremos-

Tipo1:JDBC-Controlador de puente ODBC

En el tipo1En el controlador, el puente JDBC se utiliza para acceder al controlador ODBC instalado en cada computadora cliente. Para usar ODBC, es necesario configurar en el sistema el nombre de la fuente de datos (DSN) que representa la base de datos de destino.

Cuando Java apareció por primera vez, era un controlador útil, ya que la mayoría de las bases de datos solo admitían acceso ODBC, pero ahora se recomienda usar este tipo de controlador solo para propósitos experimentales o cuando no hay otros métodos disponibles.

JDK 1.2Incluido en JDBC-Puente ODBC es un buen ejemplo de este tipo de controlador.

Tipo2:JDBC-API nativa

:Java puro 2En el controlador, las llamadas a API JDBC se convierten en API nativas C exclusivas de la base de datos. / C ++ Llamadas a API. Estos controladores generalmente son proporcionados por el proveedor de la base de datos y se utilizan de la misma manera que JDBC-Puente ODBC. Los controladores específicos del proveedor deben instalarse en cada computadora cliente.

Si se cambia la base de datos, debe cambiarse la API nativa, ya que es específica para la base de datos y ahora está obsoleta, pero se debe usar de la misma manera que el 2El controlador puede aumentar la velocidad, ya que elimina los costos de ODBC.

El controlador de Interface de Llamada de Oracle (OCI) es de tipo 2Ejemplo de controlador.

Tipo3:Java JDBC-Net

:Java puro 3En el programa del controlador, se utiliza un método de tres capas para acceder a la base de datos. El cliente JDBC utiliza el conector de red estándar para comunicarse con el servidor de aplicación de intermediario. Luego, la información del conector se convierte en el formato de llamada requerido por el DBMS por parte del servidor de aplicación de intermediario y se transmite al servidor de base de datos.

Este driver es muy flexible, ya que no requiere instalar ningún código en el cliente, y un solo driver puede proporcionar acceso a múltiples bases de datos.

Puede considerar el servidor de aplicaciones como un 'proxy' JDBC, lo que significa que realiza llamadas para las aplicaciones cliente. Por lo tanto, necesitará algunos conocimientos sobre la configuración del servidor de aplicaciones para usar eficazmente este tipo de driver.

Su servidor de aplicaciones puede usar12、4o

Tipo4El driver de tipo Java se comunica con la base de datos, y comprender las diferencias finas será útil.

:Java puro 4En el driver

Este driver es muy flexible, no necesita instalar software especial en el cliente o el servidor. Además, se pueden descargar estos drivers dinámicamente.

Connector de MySQL/El driver J es de tipo 4Dado que el protocolo de red es propietario, los proveedores de bases de datos generalmente proporcionan4driver de clase.

¿Qué driver debe usar?

Si desea acceder a un tipo de base de datos, como Oracle, Sybase o IBM, el tipo de driver preferido4.

Si su aplicación Java accede a varios tipos de bases de datos, el tipo3es el driver preferido.

Todavía no se puede usar en su base de datos3o4En el caso del driver tipo2El driver es muy útil.

Tipo1No se considera un driver de nivel de despliegue, generalmente se utiliza solo para fines de desarrollo y prueba.