プロが教えるわが家の防犯対策術!

oracle9iにJDBCで接続したいのですがI/O例外が出てうまくいきません。
多分、DriverManager.getConnection の引数のURLが間違っているのだと思うのですが。

jdbc:oracle:thin:@<ホスト名>:<リスナのポート番号>:<Oracle SID>

ホスト名・ポート番号・Oracle SID
はどこを見ればわかるのでしょうか?

ちなみに出ているエラーは以下のとうりです。

Exception in thread "main" java.sql.SQLException: I/O例外です。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at JavaDataAccess01.main(JavaDataAccess01.java:13)

何か参考になるHPなどあれば教えてください。
よろしくお願いします。

A 回答 (3件)

私は違うSIDを記述していたせいで同様のエラーを出していた記憶があります。


あと参考にするならやはりOracleが配布している資料を見るのが良いように思います。

参考URL:http://otn.oracle.co.jp/tech/java/sqlj_jdbc/inde …
    • good
    • 0

解決済みかもしれませんが。

。。
まずクライアントから、sqlplus などでoracle9iに接続できますか?

上記のエラー、何度も出したことがありますが、Oracleのサーバに
アクセスできないときに発生します。

経験上、
1.Oracleのインストールされたサーバが動いているマシン自体が動いてない
2.Oracleのサーバが動いていない
3.リスナーが動いていない
4.クライアントのTNSNames.oraの設定が間違っていてアクセスできない
5.JDBC URLのホスト名が間違っていた
6.JDBC URLのSIDが不正
といったところでしょうか?

個人的には、JDBCへのアクセス部分のコードというより、Oracleのクライアント
からサーバに対してアクセスできていないというのが多いです。

参考になれば。。。

この回答への補足

回答ありがとうございます。

sqlplusで同じSQL文が発行できるので接続は出来てると思います。

4.どのように設定すればいいのでしょか?
6.これは何を書けばいいのでしょうか?

わからないことだらけですいません。
よろしくお願いします。

補足日時:2002/07/10 10:56
    • good
    • 0

#2 の補足になりますが、


>4.クライアントのTNSNames.oraの設定が間違っていてアクセスできない
というのは、クライアントのSQL*Plusなどから接続
できない場合であって、今回のようにJDBC Thin Driverを使っている場合には該当しません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!