Java para programadores (10.3) Bases de datos

Cuando salimos  de entornos propietarios como puede ser Acces, entramos en el gran mundo de las bases de datos, Oracle, MySQL, MsSQL son motores que están a nuestro alcance; y si queremos utilizarlos, debemos saber algunas cosas.

El API JDBC

La API JDBC define las interfaces y clases Java que utilizan los programadores para conectar con bases de datos y enviar consultas. Un controlador JDBC implementa dichas interfaces y clases para un determinado proveedor de DBMS.

Un programa Java que utiliza la API JDBC carga el controlador especificado para el DBMS particular antes de conectar realmente con una base de datos. Luego la clase JDBC DriverManager envía todas las llamadas de la API JDBC al controlador cargado.

Este paquete permite conectarse a una base de datos, consultarla o actualizarla usando SQL.

Así como con Java se logra independencia de la plataforma, al trabajar con JDBC se logra además independencia del proveedor de la base de datos.

Cada proveedor de bases de datos debe generar su propio driver conectable al administrador de drivers. El programador Java utiliza este Driver para no tener que preocuparse de la base de datos con la que trabaja

JDBC sigue un modelo similar al de ODBC (Open Database Connectivity) de Microsoft.  ODBC es una API estándar para conectarse a bases de datos. Por esto una opción común es conectar JDBC a través de un driver que actúa como puente entre JDBC y ODBC,

La API JDBC está en los paquetes

  • java.sql
  • javax.sql

Utilización de Drivers

Hay cuatro tipos de Drivers:

  • Puente JDBC-ODBC
    • Traduce las llamadas java a ODBC. Las llamadas son ejecutadas mediante el driver ODBC. Se utilizará normalmente en máquinas basadas en Windows que ejecutan aplicaciones de gestión. Por supuesto, puede ser el único modo de acceder a algunas bases de datos de escritorio, como MS Access, dBase y Paradox. La ausencia de complejidad en la instalación y el hecho de que nos permita acceder virtualmente a cualquier base de datos, le convierte en una buena elección. Sin embargo, hay muchas razones por las que se desecha su utilización.
  • Nativo API
    • Utilizan la interfaz de métodos nativos de Java para convertir las solicitudes de API JDBC en llamadas específicas a bases de datos para RDBMS como SQL Server, Informix, Oracle o Sybase,
  • Protocolo de red
    • Los drivers JDBC de tipo 3 están implementados en una aproximación de tres capas por lo que las solicitudes de la base de datos JDBC están traducidas en un protocolo de red independiente de la base de datos y dirigidas al servidor de capa intermedia. El servidor de la capa intermedia recibe las solicitudes y las envía a la base de datos utilizando para ello un driver JDBC del tipo 1 o del tipo 2
  • Protocolo nativo
    • Estos drivers traducen JDBC directamente a protocolo nativo sin utilizar ODBC o la API nativa, por lo que pueden proporcionar un alto rendimiento de acceso a bases de datos.

 

Algunos drivers frecuentes:

MySQL
Driver; com.mysql.jdbc.Driver
Url: jdbc:mysql://hostname:3306/databaseName
Oracle
Driver: Oracle.jdbc.driver.OracleDriver
Url: jdbc:[email protected]:port/databaseName
DB2
Driver: com.ibm.db2.jdbc.net.DB2Driver
Url: jdbc:db2:hostname:port/databaseName
Access
Driver:sun.jdbc.odbc.JdbcOdbcDriver
Url: jdbc:odbc:databaseName

 

Excepto en el caso de utilizar ODBC, que ya debería estar instalado, los drivers para Java, no deberemos instalarlos; se descargan del repositorio del fabricante y se dejan para incorporar al proyecto.

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Formacion, Java, SQL y etiquetada , , . Guarda el enlace permanente.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.