Obtengamos una descripción general de la cubierta del JDBC y el ODBC antes para comprender mejor qué es exactamente el controlador de tipo 4. Un controlador JDBC permite que la aplicación Java interactúe con una base de datos desde donde podemos obtener o almacenar datos. Los controladores JDBC son análogos a los controladores ODBC. Las clases JDBC están contenidas en el Paquete Java java.sql y javax.sql.JDBC ayuda a
- Conéctese a una fuente de datos, como una base de datos.
- Envía consultas y actualiza declaraciones a la base de datos.
- Recuperar y procesar los resultados recibidos de la base de datos en respuesta a su consulta
El paquete Java.sql que se envía con JDK contiene varias clases con su comportamiento definido y sus implementaciones reales se realizan en controladores de terceros. Los proveedores externos implementan la interfaz java.sql.Driver en su controlador de base de datos.
ODBC se basa en el modelo de controlador de dispositivo, donde el controlador encapsula la lógica necesaria para convertir un conjunto estándar de comandos y funciones en las llamadas específicas requeridas por el sistema subyacente.
Los tipos de controladores JDBC se utilizan para categorizar la tecnología utilizada para conectarse a la base de datos.
- Conductor de puente tipo -1
- Tipo -2 API nativa
- Protocolo de red tipo -3
- Protocolo nativo tipo -4
El controlador de tipo 4 también se denomina controlador de protocolo nativo. Este controlador interactúa directamente con la base de datos. No requiere ninguna biblioteca de base de datos nativa, por eso también se le conoce como Thin Driver.
- No requiere ninguna biblioteca nativa ni servidor de Middleware, por lo que no requiere instalación del lado del cliente o del lado del servidor.
- Está completamente escrito en lenguaje Java, por lo que son controladores portátiles.
Controlador JDBC de tipo 4, también conocido como «controlador delgado» o Direct to Database Pure Java Driver . Es portátil, el más rápido entre todos los controladores JDBC y depende de la base de datos.
El controlador delgado convierte las llamadas JDBC directamente al protocolo de base de datos específico del proveedor. Está totalmente escrito en lenguaje Java. Además, es un controlador independiente de la plataforma, pero depende de la base de datos, ya que utiliza un protocolo nativo (el protocolo puede establecer una conexión solo entre un servidor en particular).
El controlador ligero se instala dentro de la máquina virtual Java del cliente.
- No se necesita software especial en el cliente o servidor. No se utilizan capas de traducción o middleware, lo que mejora el rendimiento.
- Plataforma independiente (Completamente codificado en Java)
- No es necesario instalar bibliotecas nativas.
- Utiliza un protocolo específico del servidor de base de datos que lo hace seguro.
- Útil en la depuración, ya que JVM puede administrar todos los aspectos de la conexión de la aplicación a la base de datos.
- Utiliza un protocolo específico de la base de datos y depende del proveedor de DBMS.
- Escalable
- Administración avanzada del sistema
- Rendimiento superior
- Conjunto de características avanzadas de Java
- Ofrece un rendimiento significativamente mejor que los controladores JDBC/ODBC Bridge y Type 2
Si accede a un tipo de base de datos, como Oracle, Sybase o IBM, el tipo de controlador preferido es el tipo 4.
Compatible con Unicode
Las aplicaciones multilingües se pueden desarrollar en cualquier plataforma de sistema operativo con JDBC utilizando los controladores JDBC de tipo 4 para acceder a bases de datos habilitadas para Unicode y no Unicode. Internamente, las aplicaciones Java utilizan la codificación Unicode UTF-16 para datos de string. Al obtener datos, los controladores JDBC de tipo 4 realizan automáticamente la conversión de la codificación de caracteres utilizada por la base de datos a UTF-16. De manera similar, al insertar o actualizar datos en la base de datos, los controladores convierten automáticamente la codificación UTF-16 a la codificación de caracteres utilizada por la base de datos.
Analicemos el manejo de errores en los controladores JDBC de tipo 4, ya que se informa que los controladores JDBC de tipo 4 arrojan errores a la aplicación que realiza la llamada al generar SQLExceptions. Esto se debe a que cada SQLException contiene:
- Código de error nativo
- Descripción de la causa del error
- Una string que contiene el estado SQL XOPEN