• ベストアンサー

oracle9iにJDBC接続が出来ない

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などあれば教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#16216
noname#16216
回答No.2

解決済みかもしれませんが。。。 まずクライアントから、sqlplus などでoracle9iに接続できますか? 上記のエラー、何度も出したことがありますが、Oracleのサーバに アクセスできないときに発生します。 経験上、 1.Oracleのインストールされたサーバが動いているマシン自体が動いてない 2.Oracleのサーバが動いていない 3.リスナーが動いていない 4.クライアントのTNSNames.oraの設定が間違っていてアクセスできない 5.JDBC URLのホスト名が間違っていた 6.JDBC URLのSIDが不正 といったところでしょうか? 個人的には、JDBCへのアクセス部分のコードというより、Oracleのクライアント からサーバに対してアクセスできていないというのが多いです。 参考になれば。。。

kici
質問者

補足

回答ありがとうございます。 sqlplusで同じSQL文が発行できるので接続は出来てると思います。 4.どのように設定すればいいのでしょか? 6.これは何を書けばいいのでしょうか? わからないことだらけですいません。 よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

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

すると、全ての回答が全文表示されます。
  • ct27
  • ベストアンサー率62% (48/77)
回答No.1

私は違うSIDを記述していたせいで同様のエラーを出していた記憶があります。 あと参考にするならやはりOracleが配布している資料を見るのが良いように思います。

参考URL:
http://otn.oracle.co.jp/tech/java/sqlj_jdbc/index.html
すると、全ての回答が全文表示されます。

関連するQ&A