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_MACHINESYSTEMCurrentControlSetServicesOracleOraHome90TNSListener 找到OracleOraHome90TNSListener(我用的是Oracle9i 其他的版本的应该是OracleOraHomexxxTNSListener)

? ?找到之后你会发现ImagePath关键值不存在了,创建它:(存在的话,点击修改,修改方法在下文有介绍) 右键单击,弹出菜单选择新键(N)→字符串值(S)

? 将其命名为ImagePath 选中ImagePath点右键,选中修改:

在值中输入你的Oracle安装目录ora90(其他本对应的是oraxxx目录)bintnslsnr 如果是ORACLE 10G则安装目录为F:oracleproduct10.1.0Db_2BINtnslsnr

确定后退出注册表: 再在DOS命令下键入start 如果出现下面画面,恭喜你,监听器启动成功:

关闭DOS,启动你的程序进行测试,应该恢复正常了。 以上就是3中常见的引发The Network Adapter could not establish the connection 异常的原因
异常如下: 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:oracleora92networkadmin下的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) ??? ) ? )
文章出处:http://www.blogjava.net/onewalkingman/archive/2012/08/13/335977.html
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|