web-dev-qa-db-ja.com

IOエラー:ネットワークアダプターは接続を確立できませんでした

私はOracleを初めて使用し、Javaで簡単なサンプルコードを実行しようとしていますが、コードの実行時にこのエラーが発生します。CMD経由でリスナーを起動でき、SQL Plusも実行できます。誰も私に手を差し伸べて、私が間違っているかもしれないことを教えてもらえますか?

更新:JDBCを使用しています。

データベースはローカルで、実際に動作していましたが、今日は動作しなくなりました。なぜだか本当にわかりません。よくわからないので、従うべき手順をいくつか教えてもらえますか。

24
Strawberry

どちらか:

  1. データベースが実行されていません
  2. URLが間違っています
  3. 途中にファイアウォールがあります。

(この奇妙なエラーメッセージは、データベースサーバーに接続できないときにOracleのJDBCドライバーによって生成されます。「ネットワークアダプター」は、コードの一部のコンポーネントを参照しているように見えますが、あまり役に立ちません。実際のネットワークアダプター(NIC)は接続をまったく確立しません:TCPプロトコルスタックはそれを行います。元のConnectExceptionをスローするか、少なくともエラーメッセージを使用した場合は、はるかに便利でした。スタックトレースに表示させます。)

30
user207421

私は同じ問題を抱えていた、そしてこれは私がそれを修正した方法です。接続に間違ったポートを使用していました。

private final String DB_URL  = "jdbc:Oracle:thin:@localhost:1521:orcll"; // 1521 my wrong port
  • あなたのローカルホストに行きます
  • (私のローカルホストアドレス):https://localhost:1158/em

  • ログインする

    • ユーザー名
    • パスワード
    • として接続->通常
  • 「一般」の下でLISTENER_localhostをクリックします

  • あなたのポート番号を見てください
    • ネットアドレス(ADDRESS =(PROTOCOL = TCP)(Host = localhost)(PORT = 1522))ポート1522に接続
  • 接続を編集して、ポート1521を1522に変更します。

    • やった
7
shams

もう1つのことは、listener.oraファイルがDBへの接続を試みている方法と一致することを確認することです。 localhost参照経由で接続していて、listener.oraファイルが次の場所から変更された場合:

Host = localhost

Host = 192.168.XX.XX

このため、hostsファイルを更新してこれに対応しない限り、エラーが発生する可能性があります。他のマシンからDBへのリモート接続を許可するために、誰かがこの変更を行った可能性があります。

3
user1827044

私の場合、データベースはデータベースにアクセスしようとしていたサブネットとは異なるサブネットにあることがわかりました。

1
V Gupta

私にとっては、基本的なOracleのみがインストールされていません。 Oracleがインストールされていることを確認してから、ホストとポートを確認してください。

0
Karisa

ネットワークアダプタエラーを解決するには、コンピュータ名の-を削除する必要がありました。

0
Dharm

私もこれに問題がありました。 jdbc接続文字列を使用してデータベースに接続していました。ホスト名が文字列で正しく構成されていません。私はMacを使用していますが、Windowsマシンでも同じ文字列が問題なく使用されていました。接続文字列では、ホスト名の最後に「organizationname.com」が追加された完全なURLを持っていることを確認する必要がありました。

お役に立てれば。

0
A May

Windows-propertiesでpcの名前を変更すると、このエラーが発生しました。 pc-nameはlistener.ora- fileで更新する必要があります

0
anion

ほとんどの場合、リスナーの構成が間違っています。接続文字列で指定するホスト名は、リスナーのホスト名と同じである必要があります。

まず、ファイアウォールとネットワーク関連の問題を確認します。

Oracle Listenerサービスが利用可能で実行中であるかどうかを確認します。そうでない場合は、Oracle Net Configuration Assistantツールを使用して新しいリスナーを追加および登録できます。

上記の手順で問題ない場合は、Oracleリスナーを適切に構成する必要があります。 Oracle Net Managerツールを使用するか、「%Oracle_HOME%\ network\admin\listener.ora」ファイルを手動で編集できます。

慎重に検討する必要のある2つのオプションがあります。リスナーに関連付けられたリスニングロケーション-リスニングロケーションのホスト名(IP)とポートは、接続文字列で使用されるものと正確に一致する必要があります。

たとえば、ターゲットホスト名として192.168.74.139を使用する場合、同じIPアドレスでリスニングロケーションが登録されている必要があります。

また、リスナーに関連付けられているデータベースサービスに示されているものと同じSIDを使用していることを確認してください。

https://adhoctuts.com/fix-Oracle-io-error-the-network-adapter-could-not-establish-the-connection-error/

0
user628176

私の場合、viahostviauserを指定する必要がありました。複雑なシステムの場合は試してみる価値があります。 :)

0
Kris Selbekk