gentoo linux, java, software libre y otras hierbas
oct, 23 2006 - 1:10 pm

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:

http://img339.imageshack.us/img339/6545/resultadoha7.png

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!!!

26 Comentarios | deja el tuyo

26 Comentarios en “Manipular/conectarse/consultar una base de datos hecha en Access desde Java”

  1. guillermo job dice:

    NECESITO URGENTEMENTE realizar un programa en C que realice:Dada la siguiente ecuación realizar el programa que calcule el valor de x, para valores de a y b introducidos por el usuario por teclado. Las sumas y productos las debe realizar una función. El problema es el tiempo, trabajo, familia, casa, estudios, por lo que me es imposible abarcar la posiblidad de realizarlo por mis medios. disculpe las molestias

  2. Darck27 dice:

    men esta xebre le de la pagina q pusiste ps jcronos peor hay un pequeño detalle esto es soslo para la conexion un favor no podrias tambien poner el link de la de access a la cual esta conectando por fis si y si en caso me estoy equivocando decirmelo ps

  3. Cristian dice:

    Hola a todos!

    Desafortunadamente perdí el archivo :( Nada que hacer, les toca probar con uno que creen ustedes.

    Un saludo!

  4. Darck27 dice:

    Okas men de toos moos graxias por el aporte ps mis mas sinceros saludos bye

  5. alberto rodriguez dice:

    hola pues ya lo probe con acces pero en la u estamos manejando ubuntu y la base de datos en odb me podrias ayudar porque no se como conectarla desde el eclipse y le he cacharriado un resto y no es para tarea sino para saber porque no dependo de windows

  6. bryan garzon dice:

    el enlace esta roto y la verdad queria ver la forma que conectas con odbc

  7. Lizpao dice:

    Disculpa, el link que colocastes no funciona

  8. carla dice:

    Disculpa, necesito saber que controles utliza el modelo conectado en c# en sql, plis ayudenme es urgente. gracias

  9. Gracias por tu aporte…pero el link no funciona ..favor modificar…!

  10. Jorge Torres dice:

    Muy bueno el manual, no funciona el link, ni falta que hace, pues lo explicaste con plastilina, excelente!!! Muchas gracias…

¡Déjanos tu comentario!