Java で DSN を使用して MS Access データベースに接続しようとしたとき、発生する一般的な例外は java.lang.ClassNotFoundException です。 sun.jdbc.odbc.JdbcOdbcDriver。この問題は、いくつかの理由で発生します。
ClassNotFoundException は通常、Java 仮想マシン (JVM) が指定されたクラスを見つけられない場合にスローされます。この場合は、sun.jdbc.odbc.JdbcOdbcDriver です。この問題を解決するには、JDBC-ODBC ドライバー JAR ファイルがアプリケーションのクラスパスに含まれていることを確認してください。
Java 8 以降では、JDBC -ODBC ブリッジは非推奨となり、削除されました。したがって、sun.jdbc.odbc.JdbcOdbcDriver に対して Class.forName() ステートメントを使用しようとすると、前述の例外が発生します。
Java の場合バージョン 8 以降では、UCanAccess などの代替 JDBC ドライバーを使用して Access データベースに接続することをお勧めします。 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 }
以上がJava `ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver`: その理由と修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。