- PR -

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

投稿者投稿内容
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-10-25 10:55
引用:

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



WEB-INF/libにOracleのjarファイルを配置しなければいいと思います
外部jar か 環境変数として指定してみてください
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 14:24
ありがとうございます。

別フォルダに移し外部jarとして取り込み、優先度を上げましたが、
やはり同じメッセージでした。
残る可能性は、jdkだと思うのですが、デフォルトのBEA WebLogic v9.2 JREというjdkで設定してます。
「ウインドウ」→「設定」→「Javaインストール済みのJRE」のものです。

Weblogic実行時のJDKもあるのかもしれませんが、よく分かりません。
何が原因なのか分かりません・・よろしくお願いします。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-10-25 14:34
Webアプリケーションならデータソースを使えばいいのに、というのは置いておいて。

WLS9.2であれば、Oracle 10gのドライバはデフォルトでインストールされているはず
ですので、特にアプリケーション側で設置する必要はないはずです。

エラーはNo suitable driverとのことですが、スタックトレースにもう少し詳しい
情報が出力されていませんか?
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2006-10-25 14:35
発生した例外が、ClassNotFoundExceptionではなくSQLExceptionで、
そのメッセージが"no suitable driver"ですから、
OracleのJDBCドライバが見つからないのではなく
JDBC接続URLに間違いがあるのが原因と思われます。
vincentさんがすでに指摘されていますが。

サーバ名をぼかすくらいはしてもかまいませんから、
DriverManager.getConnectionの引数を
正確に書いてください。

ClassNatFoundExceptionって書いちゃった、恥ずかしぃ…

[ メッセージ編集済み 編集者: koe 編集日時 2006-10-25 14:36 ]
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-10-25 14:47
とりあえず原点に立ちかえりましょう

ojdbc14.jarを追加してますが、何が問題なのでしょうか?
でしたよね
追加したojdbc14.jarをプロジェクトからはずしてみましょう

クラスなしになるか、適合ドライバなしになるか、正常動作するか切り分けませんか?


スタックトレースを提示してみましょう この場合はUnsatisfiedLinkErrorです
weblogicのJREは使用していませんが、
webligicのserver\libとoracleのjarをプロジェクトに設定したときに発生しました

Exception in thread "main" java.lang.UnsatisfiedLinkError: t2cCreateState
at oracle.jdbc.driver.T2CConnection.t2cCreateState(Native Method)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:350)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:132)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:78)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)

[ メッセージ編集済み 編集者: 99ri 編集日時 2006-10-25 15:20 ]
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 15:08
皆様ありがとうございます。

Oracle10g用のドライバはデフォルトで入ってるということで、はずして実行してみました。
すると同じエラーでした、ojdbc.jarは追加しなくてもいいのかもしれませんね。

printStackTrace()でSQLException時のエラー内容を出力してみました。
at java.sql.DriverManager.getConnection(Ljava.lang.String;Ljava.util.Properties;Ljava.lang.ClassLoader;)Ljava.sql.Connection;(Unknown Source)
at java.sql.DriverManager.getConnection(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String;)Ljava.sql.Connection;(Unknown Source)

プロジェクト内のデバックではドライバ名・URLなどのDB接続情報は受けわたってました。
ドライバ:oracle.jdbc.driver.OracleDriver
ユーザ:aaa
パスワード:bbb
URL:jdbc:oracle:thin:@PCNAME:1521:eee

このように接続してます。

皆様ありがとうございますが、またまたよろしくお願いします。
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2006-10-25 15:27
接続文字列の指定に誤りがあるように思います。
java.sql.DriverManager.getConnectionでエラー

私が発生した現象だとOracleのドライバまではトレースされています
今回はその前段階でエラーになっています
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-10-25 15:38
ありがとうございます。

接続文字列がおかしいということでしょうか?
SqlDeveloper,OracleのNetManagerでも接続はできているのですが・・。

ちなみにweblogic特有のドメインは関係している可能性はありますでしょうか?
何度も申し訳ありませんがよろしくお願いします。

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