私はOracleを初めて使用し、Javaで簡単なサンプルコードを実行しようとしていますが、コードの実行時にこのエラーが発生します。CMD経由でリスナーを起動でき、SQL Plusも実行できます。誰も私に手を差し伸べて、私が間違っているかもしれないことを教えてもらえますか?
更新:JDBCを使用しています。
データベースはローカルで、実際に動作していましたが、今日は動作しなくなりました。なぜだか本当にわかりません。よくわからないので、従うべき手順をいくつか教えてもらえますか。
どちらか:
(この奇妙なエラーメッセージは、データベースサーバーに接続できないときにOracleのJDBCドライバーによって生成されます。「ネットワークアダプター」は、コードの一部のコンポーネントを参照しているように見えますが、あまり役に立ちません。実際のネットワークアダプター(NIC)は接続をまったく確立しません:TCPプロトコルスタックはそれを行います。元のConnectException
をスローするか、少なくともエラーメッセージを使用した場合は、はるかに便利でした。スタックトレースに表示させます。)
私は同じ問題を抱えていた、そしてこれは私がそれを修正した方法です。接続に間違ったポートを使用していました。
private final String DB_URL = "jdbc:Oracle:thin:@localhost:1521:orcll"; // 1521 my wrong port
(私のローカルホストアドレス):https://localhost:1158/em
ログインする
「一般」の下でLISTENER_localhostをクリックします
接続を編集して、ポート1521を1522に変更します。
もう1つのことは、listener.oraファイルがDBへの接続を試みている方法と一致することを確認することです。 localhost参照経由で接続していて、listener.oraファイルが次の場所から変更された場合:
Host = localhost
に
Host = 192.168.XX.XX
このため、hostsファイルを更新してこれに対応しない限り、エラーが発生する可能性があります。他のマシンからDBへのリモート接続を許可するために、誰かがこの変更を行った可能性があります。
私の場合、データベースはデータベースにアクセスしようとしていたサブネットとは異なるサブネットにあることがわかりました。
私にとっては、基本的なOracleのみがインストールされていません。 Oracleがインストールされていることを確認してから、ホストとポートを確認してください。
ネットワークアダプタエラーを解決するには、コンピュータ名の-
を削除する必要がありました。
私もこれに問題がありました。 jdbc接続文字列を使用してデータベースに接続していました。ホスト名が文字列で正しく構成されていません。私はMacを使用していますが、Windowsマシンでも同じ文字列が問題なく使用されていました。接続文字列では、ホスト名の最後に「organizationname.com」が追加された完全なURLを持っていることを確認する必要がありました。
お役に立てれば。
Windows-propertiesでpcの名前を変更すると、このエラーが発生しました。 pc-nameはlistener.ora
- fileで更新する必要があります
ほとんどの場合、リスナーの構成が間違っています。接続文字列で指定するホスト名は、リスナーのホスト名と同じである必要があります。
まず、ファイアウォールとネットワーク関連の問題を確認します。
Oracle Listenerサービスが利用可能で実行中であるかどうかを確認します。そうでない場合は、Oracle Net Configuration Assistantツールを使用して新しいリスナーを追加および登録できます。
上記の手順で問題ない場合は、Oracleリスナーを適切に構成する必要があります。 Oracle Net Managerツールを使用するか、「%Oracle_HOME%\ network\admin\listener.ora」ファイルを手動で編集できます。
慎重に検討する必要のある2つのオプションがあります。リスナーに関連付けられたリスニングロケーション-リスニングロケーションのホスト名(IP)とポートは、接続文字列で使用されるものと正確に一致する必要があります。
たとえば、ターゲットホスト名として192.168.74.139を使用する場合、同じIPアドレスでリスニングロケーションが登録されている必要があります。
また、リスナーに関連付けられているデータベースサービスに示されているものと同じSIDを使用していることを確認してください。
私の場合、viahost
とviauser
を指定する必要がありました。複雑なシステムの場合は試してみる価値があります。 :)