簡體   English   中英

IO 錯誤:網絡適配器無法建立連接

[英]IO Error: The Network Adapter could not establish the connection

I am new to Oracle, and am trying to run a simple example code with Java, but am getting this error when executing the code.. I am able to start up the listener via CMD and am also able to run SQL Plus. 誰能幫我一把,告訴我我可能做錯了什么?

更新:我正在使用 JDBC。

數據庫是本地的,我實際上讓它工作了,但它就在今天停止工作。 我不確定為什么。 你介意給我一些程序,因為我知道的不多。

任何一個:

  1. 數據庫未運行
  2. 你的網址有誤
  3. 途中有防火牆。

(這個奇怪的錯誤消息是由 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

  • 看看你的端口號
    • 網絡地址 (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522)) 連接到端口 1522
  • 編輯您的連接,將端口 1521 更改為 1522。

    • 完畢

您可能想要檢查 listener.ora 文件是否與您嘗試連接到數據庫的方式匹配的另一件事。 如果您通過 localhost 引用進行連接,並且您的 listener.ora 文件從以下位置更改:

HOST = localhost

HOST = 192.168.XX.XX

那么這可能會導致您遇到的錯誤,除非您更新主機文件以適應這種情況。 可能有人進行了此更改以允許從其他機器遠程連接到數據庫。

我發現在我的情況下,我的數據庫與我試圖訪問數據庫的子網位於不同的子網中。

當我在 windows-properties 中重命名 pc 時出現此錯誤。 必須在listener.ora文件中更新 pc 名稱

很可能您的偵聽器配置錯誤,您在連接字符串中指定的主機名必須與偵聽器中的相同。

首先檢查防火牆和網絡相關問題。

檢查 Oracle 偵聽器服務是否可用並正在運行。 如果沒有,您可以使用 Oracle Net Configuration Assistant 工具添加和注冊新的偵聽器。

如果上述步驟都可以,那么您需要適當地配置 Oracle Listener。 您可以使用 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/

IO 錯誤:網絡適配器無法建立連接 (CONNECTION_ID=iKQM6lBbSLiArrYuDqud8A==)

如果您遇到此問題 1-確保您已下載 oracle 數據庫,如 oracle 11g、19c、21c 或任何最新數據庫。 2- 在您的計算機中搜索服務或輸入 win+r 然后 services.mis 然后搜索 oracleservice 您將找到 orcl 或 xe 或任何其他 sid,如 oracleserviceorcl;

之后,您可以使用 sql developer、sql plus 或 cmd 測試您的連接

要解決網絡適配器錯誤,我必須刪除計算機名稱中的-

就我而言,我需要指定viahostviauser 如果你在一個復雜的系統中,值得一試。 :)

對我來說,沒有安裝基本的 oracle。 請確保您已安裝 oracle,然后嘗試檢查主機和端口。

我也有這個問題。 我正在使用 jdbc 連接字符串連接到數據庫。 主機名在字符串中配置不正確。 我正在使用 Mac,並且在 Windows 機器上使用相同的字符串沒有問題。 在我的連接字符串上,我必須確保在主機名末尾附加了“organizationname.com”的完整網址。

希望這可以幫助。

只需嘗試重新創建連接。 在我的情況下,jdbc 連接之一無緣無故停止工作。 從控制台 sqlplus 工作正常。 我花了 2 個小時才意識到如果我創建相同的連接 - 它可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM