昨天yeyuanzhi2008 兄弟也提到这个问题,但是按照回复的内容修改都不行,所以另起一贴,征求解决方法。我的tnsnames.ora配置是:MOON =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.35)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = moon)
    )
  )
使用tnsping moon:[root@index5 admin]# tnsping mcncTNS Ping Utility for Linux: Version 9.2.0.4.0 - Production on 07-NOV-2008 08:24:07Copyright (c) 1997 Oracle Corporation.  All rights reserved.Used parameter files:
/oracle/product/9.2.0/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
 )SERVICE_NAME = moon)= TCP)(HOST = 192.168.1.35)(PORT = 1521))
OK (0 msec)所以应该是能够ping通的。
tomcat下面链接配置是:
                <parameter>
                  <name>url</name>
                  <value>jdbc:oracle:oci8:@moon</value>
                </parameter>
但是启动tomcat 服务器时,总是报错:
ORA-12154: TNS:could not resolve service name请问这是什么原因啊?

解决方案 »

  1.   

     tnsping mcnc  mcnc是什么?新建的tnsname吗
    ?moon?
      

  2.   

    -- 查看安装的服务名是不是Moon?
    select * from global_name
      

  3.   

    tnsping 能通,说明你的配置已经正确了。 那就是你的tomcat的问题了
      

  4.   

    也有可能实例没启来。看下你的oracle的服务是不是都起了
      

  5.   

    to WangZWang:
    select * from global_name结果是:
    MOON.US.ORACLE.COMto codearts:
    是啊,我网上查很多这个问题都是说tnsping不通,而我的是可以ping通的,tomcat配置:
                    <parameter> 
                      <name>url </name> 
                      <value>jdbc:oracle:thin:@192.168.1.35:1521:moon </value> 
                    </parameter> 
    这个就没有问题。
    不知道改成oci,tomcat还有啥需要改的。
      

  6.   

    使用thin的方式连接oracle,系统能够正常运行的
      

  7.   

    你采用的是通过Oracle客户端软件与数据库进行通讯,是需要安装oracle的客户端.
    请检查一个你tomcat所在的机器是否已经安装了client.另一种方式是调用Thin驱动程序。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯,不需要安装oracle的客户端.如果你现在用采的这方式不行,改为thin方式吧.
      

  8.   

    网上说oci的方式比thin在速度和性能上都比thin好,所以我就想用oci方式,具体好多少我也不是很清楚。
    另外,linux我不熟,也不知道怎么检查oracle客户端是否装全了,这台机器是别人配的,有一段时间了,/oracle/下只有三个jre、oraInventory和product。
    如果oracle客户端没有安装,tnsping能不能通?这个我不是很了解。还有,我用同样的方式在另外一台windows机器下测试,完全可以正常运行的。
      

  9.   

    我们JAVA项目一般都是采用thin的方式,没看出性能有问题
    那是oracle官方的说法,太迷信也不好.
      

  10.   

    解决了!
    应该就是oracle客户端安装问题,我刚才在另一台linux系统中发现这个oracle里面目录和文件要比这台多不少,所以就拷了一份oracle过来,改了一下配置,居然就成功了,谢谢sleepzzzzz的提醒,这个问题搞了一天了,呵呵。谢谢各位的热心答复啊,我得加强学习啊,感觉这些可能都是很基本的问题,自己都搞不明白,呵呵。