zoukankan      html  css  js  c++  java
  • [Oracle] Io Error: 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_MACHINESYSTEMCurrentControlSetServicesOracleOraHome90TNSListener
    找到OracleOraHome90TNSListener(我用的是Oracle9i 其他的版本的应该是OracleOraHomexxxTNSListener)

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

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

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


    确定后退出注册表:
    再在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:oracleora92 etworkadmin下的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

  • 相关阅读:
    【推荐】com.alibaba方式xml转json,能将xml的所有属性方法,全部转化为json
    关于使用JAXB读取xml文档转换为java对象报错:类的两个属性具有相同名称com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsExc...
    java正则,将<a或者</a,尖括号后面的字母改成大写
    javaben转xml
    三次握手四次挥手
    RPC接口测试(六)RPC协议解析(重要!重要!重要!)
    os.popen(cmd) 与 os.system(cmd) 的区别
    jmeter测试webSocket接口
    Ubuntu20.04 体验和美化
    API可视化管理平台YApi
  • 原文地址:https://www.cnblogs.com/jinzesudawei/p/10582181.html
Copyright © 2011-2022 走看看