Io异常:TheNetworkAdaptercouldnotestablishthecon。。。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 异常的原因
异常如下:
org.apachemons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter could not establish the connection)
at org.apachemons.ateDataSource(BasicDataSource.java:1225)
at org.apachemons.Connection(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.可能是l⽂件的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的a⽂件配置出错。
oracle的安装⽬录E:\oracle\ora92\network\admin下的a:
本地配置:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
jdbc连接oracle或服务器配置:
COREV6_DBSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
)
(CONNECT_DATA =
(SID = COREV6)
(SERVER = DEDICATED)
)
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论