java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver Ausnahme Auftritt. Warum?
Erstellt habe ich eine MS Access-Datenbank und erhält eine DSN zu. Ich will auf Sie durch meine Java-Anwendung.
Dies ist, was ich Tue:
public class AccessDbConnection {
public static void main(String[] args) {
System.out.println("**ACCESS DB CONNECTION**");
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //for MS Access ... MS access driver loading
String conURL = "jdbc:odbc:sampleDNS";
Connection con = DriverManager.getConnection(conURL);
Statement statement = con.createStatement();
String qry = "SELECT * FROM Table1";
ResultSet rs = statement.executeQuery(qry);
while(rs.next()) {
String id = rs.getString("ID") ;
String fname = rs.getString("First_Name");
String lname = rs.getString("Last_Name");
System.out.println(id + fname + lname);
}
} catch (ClassNotFoundException ex) {
System.out.println("Classforname Exception!!");
Logger.getLogger(AccessDbConnection.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
System.out.println("DriverManager Exception!!");
Logger.getLogger(AccessDbConnection.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Ich bin immer die Ausnahme in der ersten Zeile des try-Blocks. Das ist class.forname("..");
. Warum habe ich diese Ausnahme?
Hina, ich bin mir nicht sicher, ob dies ist ein Duplikat von stackoverflow.com/questions/19709843/..., aber es wäre sicherlich lohnend für Sie, um einen Blick auf diese Frage.
Eine weitere doppelte für die Liste der stackoverflow.com/search?q=jdbc+ClassNotFoundException
gut, ja, aber die JDBC-ODBC-bridge ist ein Sonderfall.
Welche Java-version benutzt du?
Liebe seinen java8 , jdk 8, aber ich habe auch versucht mit jdk 7.
Eine weitere doppelte für die Liste der stackoverflow.com/search?q=jdbc+ClassNotFoundException
gut, ja, aber die JDBC-ODBC-bridge ist ein Sonderfall.
Welche Java-version benutzt du?
Liebe seinen java8 , jdk 8, aber ich habe auch versucht mit jdk 7.
InformationsquelleAutor hina abbasi | 2014-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Java 7, können Sie einfach weglassen, die
Class.forName()
Erklärung, wie es ist nicht wirklich erforderlich.Für Java 8 Sie können die JDBC-ODBC-Bridge, da es entfernt wurde. Sie müssen so etwas wie UCanAccess statt. Weitere Informationen finden Sie unter
Die Manipulation einer Access-Datenbank aus Java ohne ODBC
Datenbank db; db = DatabaseBuilder.open(new File("E://PersonsDB/personsinfo.mdb"));
Wenn Sie eine Frage haben über die Verwendung UCanAccess oder Jackcess bitte eine neue Frage stellen enthält den entsprechenden code und die eigentliche Fehlermeldung(en), die Sie erhalten.
Funktioniert es für Visual FoxPro-Datenbank? Ich habe gerade versucht und hat nicht funktioniert. Da es sich nicht um
.accdb
Datei-Erweiterung. DankNein, UCanAccess nicht die Arbeit mit VFP-Datenbanken.
InformationsquelleAutor Gord Thompson
in JDK 8, jdbc-odbc-bridge wird nicht mehr verwendet und daher entfernt fro das JDK. verwenden Sie Microsoft Access-Datenbank in JAVA, die Sie brauchen, um 5 zusätzliche JAR-Bibliotheken.
1 - hsqldb.jar
2 - jackcess 2.0.4.jar
3 - commons-lang-2.6.jar
4 - commons-logging-1.1.1.jar
5 - ucanaccess-2.0.8.jar
fügen Sie diese Bibliotheken in Ihre java-Projekt und beginnen Sie mit folgenden Zeilen.
Weg sein könnte, wie E:/Project/JAVA/DBApp
werden und dann die Abfrage ausgeführt werden. Wie
bestimmte Einfuhren verwendet werden. try-catch-block verwendet werden muss, und einige erforderliche Dinge nicht vergessen werden.
Denken Sie daran, keine Notwendigkeit der überbrückung Treiber wie jdbc, odbc oder irgendwelche Sachen.
InformationsquelleAutor Umair Bhatti
Setup:
Diese wie überwinde ich meinen Fehler.
Beim ersten meine
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
auch nicht funktioniert hat.Dann logge ich mich auf diese website heruntergeladen und die UCanAccess 2.0.8 zip (wie Herr Gord Thompson) - Datei und entpacken Sie es.
Dann werden Sie auch in der Lage, diese zu finden *.jar-Dateien in diesem Ordner entpacken:
Dann, was ich Tat, war, kopierte ich alle diese 5 Dateien und fügen Sie Sie in diesen 2 Standorten:
(Ich hab das komische Ding becoz ich war nicht in der Lage zu importieren und diese Bibliotheken für mein Projekt)
Dann habe ich öffnen Sie die eclipse mit meinem Projekt.dann sehe ich, dass alle *.jar-Dateien in mein Projekt JRE System Library-Ordner.
Endlich, mein code funktioniert.
InformationsquelleAutor Hasith Sithila