Suscribirse al Feed
23Oct

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

Etiquetas: , ,

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

« 1 2 Todos

  1. a gravatar

    Casidiablo dice:  


    Hola Oscar. Las dudas que tengas, las planteas aquí mismo o en el Foro de Java de elhacker.net, y con gusto te ayudo.

    Un saludo!

  2. a gravatar

    victor lavolpe dice:  


    hola mucho gusto, son un desarrollador en enseñansa y justo ahora estoy haiendo un programa q se conecta a una base de datos, me parecio muy buena tu explicacion, pro tu link del ejemplo no me lo quiere abrr. podria verlo please

  3. a gravatar

    victor lavolpe dice:  


    gracias x todo

  4. a gravatar

    alvaro dice:  


    hola ….amigos.. me gustaria saber como conectar una base de datos de access con neatbeans… por favor si alguien me puede ayudar.. y que este explicado paso por paso… gracias

  5. a gravatar

    Alvaro dice:  


    Pinche Diablito de mierda, corrige tu pinche link si es que en verdad sirve tu explicacion y ese programa que segun tu comentaste bien jajajaja
    Saludos
    att: El Anticristo jajajaja

  6. a gravatar

    Cristian dice:  


    Umm… yo creo que no se va a poder :P Se perdio ese archivo para siemrep :P

  7. a gravatar

    marry dice:  


    hola casi Diablo
    pues que mal q no
    pongas bien tu link…
    para que publicas algo si no vas a estar dispuesto a responder algo concretamente y sin tanta modestia
    llego a la conclusion de que apestasss tu y tu maldita explicacion

  8. a gravatar

    Cristian dice:  


    Juas… marry, tu comentario tampoco aporta mucho, pero gracias por la visita.

    Un saludo!

« 1 2 Todos

 

 

Antes de comentar... recuerda que no hago tareas

Te invito a subscribirte al feed RSS. ¿No sabes que es un lector de Feeds?

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS