0

スキーマ「DASH104582」への JDBC 接続を作成しました。Java 7 バージョンを使用しています。Google で jar ファイルをダウンロードし、external_lib フォルダーに貼り付けました。これは私の接続コードです

DriverManager.getConnection("jdbc:db2://yp-dashdb-small-01-lon02.services.eu-gb.bluemix.net:50001/BLUDB:sslConnection=true");.

dashdb からデータを選択しようとしています。

プログラムを実行すると、エラーが表示されます

java.sql.SQLException: jdbc に適したドライバーが見つかりません:db2://yp-dashdb-small-01-lon02.services.eu-gb.bluemix.net:50001/BLUDB:sslConnection=true

私の問題を解決してください。サンプルコードがあれば教えてください..

4

1 に答える 1

1

指定した URL 形式は、JDBC タイプ 4 接続タイプを意味します。このためには、db2jcc.jar ドライバー JAR ではなく、db2jcc4.jar ドライバー JAR を使用していることを確認してください。

プログラムを呼び出す環境の CLASSPATH に、db2jcc4.jar JAR への絶対パスを含めます。CLASSPATH に db2jcc.jar を含めないでください。

「extension_lib」の下にjarファイルを配置することに言及しています。JRE インストールの下の ext/lib ディレクトリを意味していると思われます。原則としては機能しますが、このドライバー JAR を JRE インストール済み拡張機能として扱う特別な理由がない限り、単にドライバー JAR へのパスを CLASSPATH に追加する必要があります。

アプリケーションを UNIX/Linux 環境で実行している場合は、アプリケーションを実行しているユーザーに対してドライバー JAR ファイルへの読み取りアクセスが有効になっていることを確認してください (例: chmod a+r ./db2jcc4.jar)。

ドライバ クラスが実行時に正常に解決されたことを簡単に確認するために、次の行を DriverManager.getConnection() 行の前に一時的に追加できます。

Class.forName("com.ibm.db2.jcc.DB2Driver");

ドライバー クラスを解決できない場合、この行は ClassNotFoundException をスローし、CLASSPATH に db2jcc4.jar を適切に含めていないことがわかります。

上記のすべてに対処すると、 DriverManager.getConnection() 呼び出しは、記述した方法で引き続き例外をスローすることに注意してください (ただし、次の 2 つの理由により異なります)。

1) ユーザー資格情報が含まれていませんでした。それらを接続 URL 文字列に直接含めるか、ユーザーおよびパスワード プロパティとして java.util.Properties オブジェクトに追加します。これは、DriverManager.getConnection() 呼び出しの 2 番目の引数として指定する必要があります。

2) 接続 URL の末尾にセミコロンを指定します。URL は「sslConnection=true」で終わっており、「sslConnection=true;」で終わる必要があります。そうしないと、無効な URL 構文を示す例外が発生します。

于 2015-09-06T02:47:18.897 に答える