代码之家  ›  专栏  ›  技术社区  ›  Noah

JDBC:Oracle应用服务器和“网络适配器无法建立连接”错误

  •  2
  • Noah  · 技术社区  · 15 年前

    我收到一个错误:“网络适配器无法建立连接”,该错误来自部署在Oracle应用服务器10g中的Web应用程序。数据库是本地的,因此不应存在任何连接问题。

    第一个测试:我可以从sql plus连接到数据库,运行查询等。 第二个测试:我可以从服务器上本地安装的jdeveloper连接到数据库,运行查询等,没有问题。这适用于短jdbc脚本和长jdbc脚本(如下所示)。

    JDBC:Oracle:Thin:@(描述=(地址列表=(地址=(协议=TCP)(主机=本地主机)(端口=1521)))(连接数据=(服务名称=ABCD)(服务器=专用的)))

    但是当我运行web应用程序时,它给出了上述错误。它似乎太普通了,我什么也做不了。

    对如何解决这个问题有什么建议吗?我假设Oracle在某个地方记录了失败的连接尝试,但是在databases alert.log文件中找不到任何相关的内容。

    问题可能是应用程序正在使用一个旧的jsdk,但是我假设会给出一些版本不匹配错误,而不是“network connection”消息。

    编辑:我不知道这是OAS问题还是特定Web应用程序的问题,我想先解决这个问题,因为它看起来应该很容易。在websphere中,有一个“test connection”按钮用于对您添加的数据源进行dest,但是在oas10中似乎没有这样的功能?不知怎么的,我认为肯定有,我只是错过了它,因为我不是一个美洲国家组织的专家。

    编辑2:我在一台远程机器上安装了jdevelop,并且没有问题地连接到数据库,所以我确信这不是数据库连接本身的问题-看起来这一定是OAS中的问题?

    4 回复  |  直到 8 年前
        1
  •  2
  •   Adisesha    14 年前

    在使用默认配置运行时,我遇到了与oracle xe类似的问题(能够通过客户端连接,但不能通过web应用程序连接)。越来越多的会话和进程解决了我的问题。检查这个 http://www.markcallen.com/oracle/oracle-xe-tuning

        2
  •  0
  •   Thilo    15 年前

    我假设oracle在某个地方记录了失败的连接尝试

    它会出现在listener.log中,但是如果出现错误,JDBC甚至可能无法联系到侦听器。

    JDBC:Oracle:Thin:@(描述=(地址列表=(地址=(协议=TCP)(主机=本地主机)(端口=1521)))(连接数据=(服务名称=ABCD)(服务器=专用的)))

    这和你在网络应用中使用的字符串是一样的吗?

        3
  •  0
  •   Gary Myers    15 年前

    我曾经遇到过localhost和127.0.0.1的问题,当使用更明确的主机名或地址(即其他计算机将主机称为的名称)时,这些问题就会消失。我认为这与名称的解析方式有关(例如本地解析或关闭到名称服务器或类似服务器)。

    不是Java人,但是有没有办法简单地从Java中ping LoalHist/127.0.0.1,看看是否有响应。

        4
  •  0
  •   Maqdoom Mohammed    8 年前

    修复问题以更新位于的主机文件的方法之一是服务器,其中包含数据库服务器的条目,如下所示: 111.222.333.444服务器ab.abc.com服务器ab