Semplice... usi il DSN-Less e cioè:
Supponimao tu abbia il tuo DB in c:\db e che si chiami db1.mdb
( Ti posto un metodo che ho in una servlet per le JSP il concetto è lo stesso ):
private boolean checkAccess( HttpServletRequest request, HttpServletResponse response ){
this.pool = new ConnectionPool();
username = request.getParameter("username");
password = request.getParameter("password");
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbcdbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=c:\\db\\db1.mdb";
String query = " SELECT username, password FROM admins WHERE id = 1 "+
" AND username='"+username+"' "+
" AND password='"+password+"'";
try{
if (pool.getDriver() == null) {
pool.setDriver(driver);
pool.setUrl(url);
pool.setSize(5);
pool.initializePool();
}
this.con = pool.getConnection();
this.st = con.createStatement();
this.rs = st.executeQuery( query );
if( rs.next() ){
pool.releaseConnection(con);
return true;
}else{
pool.releaseConnection(con);
return false;
}
}catch( ClassNotFoundException cnf ){
System.out.println("Classe non trovata");
pool.releaseConnection(con);
return false;
}catch( SQLException sql ){
System.out.println("SQLException: "+sql.getMessage());
pool.releaseConnection(con);
return false;
}catch( Exception e ){
System.err.println("Eccezione generale "+e.getMessage());
pool.releaseConnection(con);
return false;
}
}

dbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=c:\\db\\db1.mdb";
Rispondi quotando