试一下把listener重新启动一下,我以前也是总碰到这个问题,但用的久了,似乎
问题出现情况少了点,但这种情况好象一般发生在远程连接上,估计你把程序放在
oracle的安装机上执行,可能不会有这个问题

解决方案 »

  1.   

    listener重起过了,oracle都重起过还是不行,
    奇怪的是,用oracle的客户端可以连,读写都没有问题
      

  2.   

    你在本地服务器连接也有错误吗??
    你所在的局域网是不是开了不止一个oracle,关掉其他的看看(oracle在一个局域网上可以有多个相同的服务名,但我自己试总是出错)
      

  3.   

    wyy_9715072:
      既然客户端可以正确连上,我想不是服务名的问题吧。
      

  4.   

    以前的贴子我做过回答:
    如果客户端是windows平台,在host文件中加入主机名--ip地址的映射
    <ip>    <hostname>
      

  5.   

    这是因为oracle的数据库是用oracle用户建的,用jsp访问就有权限问题,你要保持访问者(jsp)与提供者(oracle)在linux下的权限许可.不然jsp就读不到oracle的数据.要不然你去看看redhat,7.x的都有防火墙,这东西也会碍事.把它关了.
      

  6.   

    程序放到oracle所在的机器上就没有问题了,但不知为何。
      

  7.   

    今天找到解决方法,顺带通知你一声,就是需要将listener的两个配置文件
    listener.ora和sqlnet.ora中的域名改为该台机器的ip即可。
      

  8.   

    附注说一声,如果linux的hosts文件中没有关于该机的机器名解析,127.0.0.1对应的名称除外,则改了配置文件即可,如果有对该机机器名的解析,则需要连接端(客户端)能够解析该机器名。打个比方,如果linux的ip
    是192.168.0.1,他的/etc/hosts文件中仅有一条127.0.0.1 localhost,则只需要将配置文件改为ip即可,如果还有一条关于本机机器名地解析,如
    192.168.0.1 linux1 ,则在客户端,也需要能够按照linux1找到192.168.0.1,
    windows下的解决方法自然就是改hosts文件了,呵呵