Apabila cuba menyambung ke pangkalan data MS Access menggunakan DSN dalam Java , pengecualian biasa yang dihadapi ialah java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver. Isu ini berlaku kerana beberapa sebab.
ClassNotFoundException biasanya dilemparkan apabila Mesin Maya Java (JVM) tidak dapat mengesan kelas yang ditentukan, dalam kes ini, matahari.jdbc.odbc.JdbcOdbcDriver. Untuk menyelesaikan isu ini, pastikan fail JAR pemacu JDBC-ODBC disertakan dalam laluan kelas aplikasi anda.
Untuk Java 8 dan lebih tinggi, JDBC -ODBC Bridge telah ditamatkan dan dialih keluar. Oleh itu, cubaan menggunakan pernyataan Class.forName() untuk sun.jdbc.odbc.JdbcOdbcDriver akan menghasilkan pengecualian yang dinyatakan di atas.
Untuk Java versi 8 dan ke atas, pendekatan yang disyorkan untuk menyambung ke pangkalan data Access adalah melalui pemacu JDBC alternatif seperti UCanAccess. Berikut ialah coretan kod yang dikemas kini menggunakan UCanAccess:
import net.ucanaccess.jdbc.UcanaccessDriver; // ... try { Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); // for MS Access with UCanAccess driver String conURL = "jdbc:ucanaccess://path/to/database.mdb"; Connection con = DriverManager.getConnection(conURL); // ... } catch (ClassNotFoundException ex) { // Handle exception }
Atas ialah kandungan terperinci Java `ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver`: Mengapa dan Bagaimana untuk Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!