Por favor, haz un clic sobre los anuncios cuando pases por mi blog, ya? =)

Conectar Java y Ms Access sin configurar un DSN por Windows

No hay comentarios
Si usamos este codigo para conectar a una base de datos MS Acces desde java:

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception e){
e.printStackTrace(System.err);
}
Connection con;
Statement stmt;

//connecting to the database.
try{
con=DriverManager.getConnection("jbdc:odbc:MiDNSDeBaseDeDatos");
stmt=con.createStatement();

con.close();
stmt.close();
}
catch(Exception sqle){
sqle.printStackTrace(System.err);
}


Debemos obligatoriamente registrar un DNS con el nombre MiDNSDeBaseDeDatos. ( Ir a Panel de Control, Herramientas Administrativas, Origenes de Datos OBDC).

El problema es que si alguien lo elimina, nuestra aplicacion no funcionará.

Podemos corregir ese problema haciendo los siguientes cambios:

try

{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dataSourceName = "MiBaseDeDatos.mdb";
String dbURL = "jdbc:odbc:Driver={Microsoft Access
Driver (*.mdb)};DBQ=";
dbURL += dataSourceName +
";DriverID=22;READONLY=true)";
dbconn = DriverManager.getConnection(dbURL,"","");
Statement s = dbconn.createStatement();
}

catch ( ClassNotFoundException cnfex )

{
cnfex.printStackTrace();
info=info+"Connection unsuccessful\n" + cnfex.toString();
}

Esto busca la bases de datos guardada en
dataSourceName, que puede incluir un path relativo o absoluto. No necesita registrar ningun DNS.





No hay comentarios :