Question

I have 32bit Win7, 32bit Office 2010 and 32bit JDK 8u5 and trying to access MS Acess database. When I try to crete connection, I get java.sql.SQLException: No suitable driver found

There is no difference between this:

Connection konekcija = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=D:\\Marko\\NetBeansProjekat\\dnevnik.accdb");

and creating ODBC data source named "dnevnik" in Administtrative tools an using it like this:

Connection konekcija = DriverManager.getConnection("jdbc:odbc:dnevnik");

In ODBC Data Sources I have installed Microsoft Access Driver(*.mdb, *.accdb).

This is whole method that throws Exception

public static List<Odeljenje> vratiSvaOdeljenja(){
   List<Odeljenje> result = new ArrayList<>();
    try {  
        Connection konekcija = DriverManager.getConnection("jdbc:odbc:dnevnik");
        String upit = "SELECT * FROM tOdeljenje";
        Statement st = konekcija.createStatement();
        ResultSet rs = st.executeQuery(upit);
        while (rs.next()) {
            long odeljenjeID = rs.getLong("OdeljenjeID");
            String oznakaOdeljenja = rs.getString("OznakaOdeljenja");               

            Odeljenje o = new Odeljenje(odeljenjeID, oznakaOdeljenja);
            result.add(o);
        }
        konekcija.close();
    } catch (SQLException ex) {
        Logger.getLogger(RadSaBazom.class.getName()).log(Level.SEVERE, null, ex);
    }
    return result;
}

Thank you in advance :)

Was it helpful?

Solution

JDBC-ODBC Bridge was removed in Java8. For reasoning read this.

You can use a JDBC Driver specifically for Access like UCanAccess.

For more info on UCanAccess read this question.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top