Manipular/conectarse/consultar una base de datos hecha en Access desde Java
Algo que me han preguntado varias veces, y pues es algo fácil la verdad. Primero, para los que no saben mucho del tema, decir que para manipular bases de datos desde Java se utiliza la API JDBC.
Umm, lo primero es crear la base de datos. Entonces hacemos la parte aburrida (recopilación de datos, registros de ejemplo, normalización y Modelo Entidad relación). Diseñamos la base de datos en Access (nada más fácil), y listo.
En este caso voy a trabajar con una típica base de datos que gestiona los datos de un banco. Aclarar dos cosas: el modelo lo saqué de la opción “relaciones” de Access, por que me dio pereza hacer uno nuevo; y en sí, la estructura de las tablas son hechas por Diego Burbano (de un tutorial de Oracle), emm, sí me dio pereza hacer uno nuevo.
Vamos al grano!!! Los pasos para manipular una BD en Java son los siguientes:
1. Cargar la clase del controlador de la base de datos; eso se hace con la instrucción:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”).newInstance();
En este caso se utiliza el controlador OBDC, ya que estamos trabajando con Access (Microsoft).
2. Establecer la conexión a la base de datos. Para ello necesitamos crear un objeto Connection al cual le asignamos el tipo y nombre del controlador (driver), la ruta donde se encuentra la BD, el usuario y contraseña en caso de que la base de datos esté protegida con ellos.
Connection conn = DriverManager.getConnection(“jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=E:\\EjemploBD\\banco.mdb;PWD=”,”",”");
Nota: Fíjense que para separar los directorios de la ruta se utiliza doble back slash (\\), ya que de lo contrario la cadena se interpretaría incorrectamente.
3. Crear un objeto Statement para consultar la base de datos.
Statement sentencia = conn.createStatement();
4. Crear un objeto ResultSet, que guardará el conjunto de resultados provenientes de la consulta:
ResultSet conjuntoResultados = sentencia.executeQuery(“select * from cliente”);
5. Recorrer el objeto ResulSet, que contiene el resultado de la consulta:
while(conjuntoResultados.next())
resultado = conjuntoResultados.getString(1) + “\t” + conjuntoResultados.getString(2) + “\t” + conjuntoResultados.getString(3);
Nota: en este caso utilizo la manera más fácil de recorrer los resultados, pero no la más eficiente. Lo ideal es crear un objeto MetaData que extraiga del resultado información como: número de filas, número de columnas, etc. Pero eso lo dejamos para después, de momento no nos compliquemos
.
En el programa de ejemplo el resultado es:

Adjunto la base de datos de prueba, y el programa en java (muy bien comentariado) que realiza las conexiones:
Descargar EjemploBD.zip (indefinidamente inservible)
Saludos!!!
21 Comentarios | deja el tuyo














