Java 8 以降、JDBC-ODBC ブリッジは JDK に含まれなくなりました。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // classNotFoundException is thrown
JDBC-ODBC Bridge を接続する他のソリューションはありますか?
さて、私の意見では、オラクルの従業員によるこのブログエントリはそれをすべて述べています:
JDBC-ODBCブリッジの代わりに、データベースのベンダーが提供するJDBCドライバーまたは商用のJDBCドライバーを使用することをお勧めします。
JDBC-ODBCブリッジを使用しているアプリケーションの種類は何ですか?
データベース接続ロジックを開くだけの変更で既存のコードを使用できる合理的な解決策を見つけました。
UCanAccess はオープンソースの JDBC ドライバーです。
http://ucanaccess.sourceforge.net/site.html
これには 2 つの依存関係があり、そのうちの 1 つにはさらに 2 つの依存関係があります。
jackcess-2.0.0.jar 以降
commons-lang-2.4.jar
commons-logging-1.0.4.jar
hsqldb.jar(2.2.5)
それらはすべてオープンソースです。インターネット検索を行い、ダウンロードし、必要に応じて解凍し、4 つのすべての jar と UCanAccess 用の 1 つをプロジェクト内のディレクトリに配置します (例: JDBC-to-MSAccess)。Ecplise を使用している場合は、メニューから [Project / Properties / Java Compiler / Libraries / Add External JARs] を選択してビルド パスに追加し、5 つの jar ファイルすべてを選択します。
接続ロジックは非常に単純です。
String strConnectionString = "";
Connection conAdministrator = null;
// Register driver
Class.forName( "net.ucanaccess.jdbc.UcanaccessDriver" );
// System.getProperty( "user.dir" ) => Current working directory from where application was started
strConnectionString = "jdbc:ucanaccess://" + System.getProperty( "user.dir" ) + "\\Your-database-name.<mdb or accdb>";
// Open a connection to the database
conAdministrator = DriverManager.getConnection( strConnectionString );