現象:
運行一個DEMO時,突然不能正常運行,並且拋出異常:
java.sql.SQLException: Io 異常: The Network Adapter could not establish the connection
原因:
百度知道,出現這個異常可能是很多原因中的某個問題而導致的,需要自己一一排查:
1、網線是否鏈接正常;
2、IP是否錯誤;
3、防火牆是否關閉;
4、tnsnames.ora文件配置是否正確;
5、數據庫監聽是否啓動;
……
方案:
1、網線是否鏈接正常
檢查一下自己主機的網線是不是被自己踢掉了?或是否與服務器鏈接暢通。
2、IP是否錯誤
(a)在設置URL時是否寫錯,確保如:jdbc:oracle:thin:@192.168.20.13:1521:ORCL
(b)server.xml文件的DataSource配置是否出錯:
(b-1).如果用到的是本機上的數據,本地數據源裏的部分配置爲: username="pcisv62" password="11" url="jdbc:oracle:thin:@localhost :1521:orcl "
(b-2).如果用到的是服務器上的數據,則數據源裏的部分配置爲: username="pcisv62" password="11" url="jdbc:oracle:thin:@dbserver :1521:corev6 "
(dbserver爲服務器的名字,corev6爲服務器上Oracle的SID)
3、防火牆是否關閉
如果本機上有放火牆開啓,可能是服務器端口號屏蔽而造成的。關閉防火牆後,嘗試重新連接。
4、tnsnames.ora文件配置是否正確
oracle的安裝目錄……\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)
)
)
5、數據庫監聽是否啓動
運行CMD,輸入命令lsnrctl,回車進入監聽命令,再輸入命令start,回車啓動監聽。
【互聯網納】
案例:
運行->輸入CMD->輸入lsnrctl->輸入start。運行程序,正常終了。