miércoles, 16 de febrero de 2011

Usar un archivo access como Base de datos sin DNS

Alguna ves necesitaron de una base de datos pero no les gusto para nada la idea de usar un manejador que se tenga que instalar pues este es su post.

Vamos a aprender a conectar con un archivo de tipo Access para usarlo como base de datos y usar asi una aplicacion de fines diversos.
Creemos la clase Test.java
Primero declaremos esto en la clase:
String url_Servidor="C:\\SG_COMANDER.mdb";
Connection enlace;  //Sirve para crear un enlace entre la aplicacion y el conector
Statement st = null;  //Crea una secuencia de ordenes
ResultSet resp = null;  // Captura los resultados
Aqui algunos novatos se preguntaran por que pongo \ dos veces si windows reconoce solo uno puesto que en java si pongo uno solo lo reconoce como formato de texto pero si pongo 2 lo reconoce correctamente

Ahora vayamos al constructor

Test()
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String DB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + url_Servidor;
            enlace = DriverManager.getConnection(DB, "", "");
            // se ponen las 2 comillas en el getConnection ya que el user y pass estan por defecto en blanco por que si existen en el access.


}
Ahora en el Main llamemos un metodo en este caso Cargar()
    private void Cargar() {
        if (enlace != null) {
            try {
                String url_consulta = "SELECT * FROM Tablas";
                st = enlace.createStatement();
                resp = st.executeQuery(url_consulta);
                while (resp.next()) {
                    System.out.println(resp.getObject(1));
                }
            } catch (SQLException ex) {
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
Aclaracion:
No eh logrado hacer funcionar el metodo booleano first() proveniente del ResultSet sospecho que el conector no lo permite cosa que no ocurre en el conector de SqlServer.
Mi recomendacion es usar el next() asi tu consulta que envie un unico resultado
Reacciones:

0 comentarios:

Publicar un comentario