- PR -

JDBCドライバの初期化について

投稿者投稿内容
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 01:16
こんにちは。

Weblogic&eclipseのworkshop環境で開発しています。
Oracle10gに接続を試みてますが、「No suitable driver」とエラーメッセージが出ます。
検索するとIEブラウザだとドライバの初期化がおかしいと紹介されており、
ソース部をこうしました。
java.sql.Driver orclDriver = (java.sql.Driver) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

このようにnewInstance()を付けて初期化するように紹介されてましたが同じでした。
ojdbc14.jarを追加してますが、何が問題なのでしょうか?

ちなみに接続テスト・SQLDeveloperでは接続に成功しています。
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2006-10-25 01:50
「IEブラウザだとドライバの初期化がおかしい」の意味がよくわかりません。
もう少し、プログラムの構成を説明してもらえますか?

No suitable driver なので、追加したと言われるドライバへの
クラスパス設定ミス等の環境面での勘違いとおもいます。
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 02:05
ありがとうございます。

No suitable driverで検索しましたところ、Weblogicで初期化がうまくいかずにいく可能性があるからnewInstance()としましょうと紹介されていました。
必ずしもこれが原因とは考えられませんが、コネクション取得でどうしてもこのメッセージが出てくるので困ってます。

ご指摘いただいた開発環境ですが、@開発Home@/WebContent/WEB-INF/libにojdbc14.jarを組み込みプロジェクトでも認識されてました。
workshop環境が初めてでよく分かりませんが、jdkはデフォルトのjrockit90_150_04というのを指定してます。

動的webプロジェクトでデフォルトに色々lib以下にjarファイルがありますが、詳しくはわからない状態です、申し訳ありません。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-10-25 02:44
No suitable driverとエラーが出るのはコネクション取得時だと思いますが、その
コードはどうなっているのですか?
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2006-10-25 09:12
実行時のJavaのバージョンが合ってない
ということはありませんか?
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-10-25 09:22
No "suitable" Driverってことで、接続文字列が合ってないのでは?
実行時にドライバが見つからないならNoClassDefFoundErrorとか
それっぽいエラーが出ると思います。
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-10-25 09:56
引用:

かんぱちさんの書き込み (2006-10-25 02:05) より:

ご指摘いただいた開発環境ですが、@開発Home@/WebContent/WEB-INF/libにojdbc14.jarを組み込みプロジェクトでも認識されてました。
workshop環境が初めてでよく分かりませんが、jdkはデフォルトのjrockit90_150_04というのを指定してます。

動的webプロジェクトでデフォルトに色々lib以下にjarファイルがありますが、詳しくはわからない状態です、申し訳ありません。



ojdbc14.jarを最初にworkshop(weblogic)が参照するようにclasspathを
設定してみてください
workshop の設定はeclipse と同じだとおもいます。

プロジェクト-プロパティ
Javaのビルドパス-順序およびエクスポートタブ
ojdbc14.jarをJDK以外で他のJarより上に表示されるようにします

上記設定で該当プロジェクト
.classpath ファイルのkind="lib"の先頭になります
<classpathentry kind="lib" path=****/ojdbc14.jar"/>
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 10:34
皆様ありがとうございます。

一番気になっているのはやっぱりjdkです。
eclipse・Tomcatの環境では問題なくアクセスできていましたので・・。

そこでworkshopでの設定ですが、99riさんの教えていただいた方法で
設定しようとしているのですが、Webアプリケーション・ライブラリーとして
@プロジェクトパス@/WebContent/WEB-INF/libで自動的に認識されている為、
優先度を上げることができないような気がします、外部jarで追加すると同じものが
ありますと確定ボタン(OK)が押せませんでした。
それとも外部パスで追加すると言うことでしょうか?

ソース部ですがこんな感じです。
try {
java.sql.Driver orclDriver = (java.sql.Driver) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
java.sql.Connection orclConnection = DriverManager.getConnection("オラクル接続URL", "ユーザ名", "パスワード");
} catch (Exception e) {
}

よろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)