Categories
programación

Conectar con una base de datos access desde java

Aunque a veces no lo queramos, puede que en determinado momento necesitemos acceder a una base de datos access desde una aplicación java. La forma más sencilla es usar una aplicación de microsoft que nos permite hacer uso de la API de java (jdbc) con este tipo de bases de datos.

Primero tenemos que descargar e instalar el siguiente programa (vale para access 2007 y anteriores):

Luego de instalarlo podemos probarlo con un ejemplo como el siguiente:

public void queryAccess() {
        try {
            String accessFileName = "C:\mydatabase.mdb";
            String connURL = "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=" + accessFileName + ";PWD=";
            Connection con = DriverManager.getConnection(connURL, "", "");

            Statement stmt = con.createStatement();

            stmt.execute("select * from \"Contactos\" where \"Fecha cumple\" >= DATE()");
            ResultSet rs = stmt.getResultSet();

            if (rs != null) {
                while (rs.next()) {
                    System.out.println("Nombre: "+rs.getString("nombre"));
                }
            } else {
                System.out.println("Nadie tiene cumpleaños en el futuro");
            }

            stmt.close();
            con.close();
         } catch (SQLException ex) {
            System.out.println("Error while connecting  database");
        }
    } 

5 replies on “Conectar con una base de datos access desde java”

Y lo peor es que me va a servir…lo pongo en favoritos 😀
Gracias

[Responder]

sucotronic Reply:

@Miky, jajaja, pues espérate a que ponga el de manipular hojas excel… xD

[Responder]

Este tutorial explica como conectar una BD access con java sin instalar nada.
http://autorneto.com/tecnologia/programacion/como-conectar-aplicacion-java-con-una-base-de-datos-access-en-windows-xp/

[Responder]

sucotronic Reply:

@diego11, gracias por el apunte extra, pero con el método que tu enlazas estás restringido a usar una base de datos concreto, que debe de estar configurada en el sistema. En cambio, el que yo pongo permite abrir una base de datos que nosotros queramos sin tener que configurar nada en el sistema.

[Responder]

Leave a Reply

Your email address will not be published. Required fields are marked *