tipos datos controladores conexion java sql database jdbc drivers

java - datos - Diferencia entre los números de tipo de controlador JDBC



tipos de controladores (5)

Noté que JDBC tiene diferentes controladores como:

  1. Driver tipo 1
  2. Tipo 2 Driver, etc. al Tipo 4

¿Por qué obtuvieron el nombre como Tipo 1, Tipo 2, etc.? ¿Hay alguna lógica?


En resumen, cada Tipo utiliza una estrategia diferente y funciona mejor para diferentes tipos de implementaciones. No creo que fuera flojera. Creo que fue para poder elegir de manera más fácil y clara qué tipo es mejor para su situación particular.


Los números no son muy informativos. Me resulta más útil pensar en lo siguiente:

  • API local (1,2) vs protocolo de red (3, 4)
  • Base de datos independiente (números impares) vs base de datos específica (números pares)

Nunca pude recordar los números, pero cuando alguien dijo "aquí usamos un controlador de tipo 4", pude hacer dos preguntas sí-no para saber de qué estaban hablando.


http://en.wikipedia.org/wiki/JDBC_driver

No parece ser ninguna lógica, simplemente pereza, supongo!

ACTUALIZACIÓN: La pregunta era si había alguna lógica para llamarlo tipo 1, tipo 2, etc. en lugar de llamar al tipo apple, escribir orange :). Entiendo que los tipos de controladores son diferentes y funcionan / no funcionan en función de las circunstancias, pero ¿por qué el nombre "Tipo 1" en lugar de "Tipo JDBC-ODBC" o "Tipo JO" no tiene ninguna razón AFAIK.


Creo que se remonta a la introducción original de Sun (1997) a JDBC :

Los controladores JDBC que conocemos en este momento generalmente se ajustan a una de cuatro categorías:

  1. Puente JDBC-ODBC más controlador ODBC: el producto puente JavaSoft proporciona acceso JDBC a través de controladores ODBC. Tenga en cuenta que el código binario ODBC y, en muchos casos, el código de cliente de base de datos, debe cargarse en cada equipo cliente que utilice este controlador. Como resultado, este tipo de controlador es más apropiado en una red corporativa donde las instalaciones de los clientes no son un problema importante, o para el código del servidor de aplicaciones escrito en Java en una arquitectura de tres niveles.

  2. Controlador Native-API parcialmente Java: este tipo de controlador convierte las llamadas JDBC en llamadas en la API del cliente para Oracle, Sybase, Informix, DB2 u otro DBMS. Tenga en cuenta que, al igual que el controlador de puente, este estilo de controlador requiere que se cargue código binario en cada máquina cliente.

  3. Controlador Java puro JDBC-Net: este controlador traduce las llamadas JDBC a un protocolo de red independiente de DBMS que un servidor convierte a un protocolo DBMS en un protocolo. Este middleware de servidor de red puede conectar sus clientes de Java puro a muchas bases de datos diferentes. El protocolo específico utilizado depende del proveedor. En general, esta es la alternativa de JDBC más flexible. Es probable que todos los proveedores de esta solución proporcionen productos adecuados para el uso de la intranet. Para que estos productos también admitan el acceso a Internet, deben manejar los requisitos adicionales de seguridad, acceso a través de firewalls, etc., que impone la Web.

  4. Controlador Java puro de protocolo nativo: este tipo de controlador convierte las llamadas JDBC en el protocolo de red utilizado por los SGBD directamente. Esto permite una llamada directa de la máquina cliente al servidor DBMS y es una excelente solución para el acceso a Intranet. Dado que muchos de estos protocolos son de propiedad exclusiva, los proveedores de la base de datos serán la fuente principal. Varios proveedores de bases de datos tienen estos en progreso.

La expectativa es que, finalmente, las categorías de controladores 3 y 4 serán la forma preferida de acceder a bases de datos desde JDBC. Las categorías de controlador 1 y 2 son soluciones provisionales donde los controladores directos de Java puro aún no están disponibles. Existen posibles variaciones en las categorías 1 y 2 (que no se muestran en la tabla a continuación) que requieren un conector, pero generalmente son soluciones menos deseables. Las categorías 3 y 4 ofrecen todas las ventajas de Java, incluida la instalación automática (por ejemplo, descargar el controlador JDBC con un applet que lo usa).


Tenga en cuenta que en realidad no los nombraron Tipo 1, 2, 3 y 4, sino JDBC-ODBC bridge plus Controlador ODBC, Native-API parcialmente-Java, JDBC-Net Pure Java y Native-protocol Pure Java Driver . Cada nombre era un bocado, por lo que las personas inmediatamente comenzaron a referirse a ellos por su número en su lugar.


El número de tipo dice algo acerca de cómo el controlador realmente se comunica con la base de datos.

  1. A través de la API ODBC .
  2. Mediante la API específica del proveedor DB (utilizando llamadas JNI, por ejemplo, un archivo DLL en Windows).
  3. A través de un protocolo de red genérico (usando conectores con, por ejemplo, protocolo TCP / IP).
  4. Vía protocolo de red específico del proveedor de DB (aún con sockets).

En general (por coincidencia), cuanto mayor sea el número de tipo, mejor será el rendimiento del controlador JDBC.