0

Play フレームワーク 2.0.4 で作成されたアプリから Oracle データベースへの接続を確立しようとしていますが、接続を開くときに SQLException (jdbc:oracle:thin:@.... に適したドライバーが見つかりません) が発生します。

私はスタンドアロンで正常に動作するコードを使用しており、例外の接続文字列も問題ありません(「クエリの実行」でテストしても動作しました)。

コードの先頭に、クラスが見つからない場合に NoClassDefFound 例外をスローする次のステートメントがあるため、Play はドライバーを見つけることもできます。

Class.forName("oracle.jdbc.driver.OracleDriver");

また、私の lib ディレクトリにある Oracle ドライバーは、サンプル アプリ、ExecuteQuery、JBoss などで使用しているものと同じです。

私は何を間違っていますか?

ここに私のコードからの別のスニペット:

String connectionString = "jdbc:oracle:thin:@" + url + ":" + port + ":" + sid;
Connection conn = DriverManager.getConnection(connectionString, user, password);

PS:この方法でアクセスしたいデータベースは、アプリケーションデータを保存するメインデータベースではなく、外部の読み取り専用データソースのみです...

ヒントをありがとう

編集:問題は解決しましたが、方法がわかりません:\エラーメッセージをもう一度読むためにコードを実行しましたが、もうエラーは発生しません。私が持っている唯一の考えは、先週、それが機能しなかったときに、プレイコンソールを再起動せず、アプリだけを再起動したということです!?! これが原因かも!?

Edit2:セットアップを変更しなくても時々発生しますが、アプリを再起動するとすぐに再び機能します:)

4

1 に答える 1

0

ドライバがロードされている場合、URL が正しくないはずです。接続文字列を印刷して、正しいことを確認しましたか?

「jdbc:oracle:thin:@//localhost:1521/mydb」のようになります。

于 2012-12-10T12:57:21.603 に答える