Io 異常: The Network Adapter could not establish the connection解決方案


Io 異常: The Network Adapter could not establish the connection 這個異常的出現一般與數據庫和你的PC的設置有關

這種異常的出現大致上有下面幾種:

1。IP錯誤。 在設置URL時錯誤,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 數據庫服務器不正確:ping 服務器IP是否正確。不正確,將URL更改為正確 端口號錯誤:一般不會錯誤。 進行一下操作:在DOS上鍵入sqlplus,檢查oracle是否開啟 一卻正常,執行下面第2步。

2。防火牆 如果機器上安裝有放火牆,可能是服務器端口號屏蔽而造成的。關閉防火牆后,嘗試重新連接。 仍然不行,執行第3步。

3。數據庫監聽未啟動 修改PC上注冊表中的ImagePath值。 我下面以現在主流的數據庫ORACLE為例 重新手動啟動數據庫監聽: 1:開始 → 運行→ 輸入CMD→  進入DOS命令提示界面 d:>lsnrctl LSNRCTL> status 或者 LSNRCTL> start 如果是類似圖片中的信息

 

恭喜,你的問題已經查找出來,是數據庫監聽器沒未啟動而造成的。 以下是手動啟動數據庫的方法: 在運行處執行regedit進入注冊表到 開始 →運行→ regedit 按下面路徑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome90TNSListener 找到OracleOraHome90TNSListener(我用的是Oracle9i 其他的版本的應該是OracleOraHomexxxTNSListener)

 

 

 

 找到之后你會發現ImagePath關鍵值不存在了,創建它:(存在的話,點擊修改,修改方法在下文有介紹) 右鍵單擊,彈出菜單選擇新鍵(N)→字符串值(S)

  將其命名為ImagePath 選中ImagePath點右鍵,選中修改:

在值中輸入你的Oracle安裝目錄\ora90(其他本對應的是oraxxx目錄)\bin\tnslsnr

如果是ORACLE 10G則安裝目錄為F:\oracle\product\10.1.0\Db_2\BIN\tnslsnr

 

 

確定后退出注冊表: 再在DOS命令下鍵入start 如果出現下面畫面,恭喜你,監聽器啟動成功:

 

關閉DOS,啟動你的程序進行測試,應該恢復正常了。 以上就是3中常見的引發The Network Adapter could not establish the connection 異常的原因

 

文章出處:DIY部落(http://www.diybl.com/course/3_program/java/javashl/20071126/87790.html)

 

 

 

異常如下:

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 異常: The Network Adapter could not establish the connection)   at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)   at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)  Caused by: java.sql.SQLException: Io 異常: The Network Adapter could not establish the connection   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)  

主要原因:

1.可能是server.xml文件的DataSource配置出錯。

(1).如果用到的是本機上的數據,本地數據源里的部分配置為: username="pcisv62" password="11" url="jdbc:oracle:thin:@localhost:1521:orcl" (2).如果用到的是服務器上的數據,則數據源里的部分配置為: username="pcisv62" password="11" url="jdbc:oracle:thin:@dbserver:1521:corev6"

(dbserver為服務器的名字,corev6為服務器上Oracle的SID)

2.可能是oracle的tnsnames.ora文件配置出錯。

oracle的安裝目錄E:\oracle\ora92\network\admin下的tnsnames.ora: 本地配置: ORCL =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 主機名)(PORT = 1521))     )     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = ORCL)     )   ) 或服務器配置: COREV6_DBSERVER =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))     )     (CONNECT_DATA =       (SID = COREV6)       (SERVER = DEDICATED)     )   )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM