测试成功了的话,说明没什么问题
试试
修改oracle\ora816\network\ADMIN\tnsnames.ora
如:host项改成数据库服务器的ip地址,service_name为数据库名称
ORAL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Sun)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oral)
    )
  )

解决方案 »

  1.   

    TNSPING 服务名
      是否通,把你的TNSNAMES.ORA文件里,连接串的配置信息帖出来
      

  2.   

    你用sql plus 登录时,sid有没有写错呀?
    应该没有问题的。
      

  3.   

    假如你的TNSNAME.ORA如下:ORALTEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.125)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = oral)
        )
      )
    则试试:
    conn system/manager@oraltest 是否有什么错误信息.把你的操作过程及tnsname.ora都帖出来看看.
      

  4.   

    肯定sid有写错用host名_sid
    试试
      

  5.   

    你的连接字符串是不是需要加上.world啊?
      

  6.   

    同样山林的说法,另外楼主把tnsname.ora 贴出来一看就知道了
      

  7.   

    to jack_4826:<<
    tnsping 通过就行了
    >>tnsping 通过,并不代表就能连接上数据库
      

  8.   

    我再说的详细点,我本机(windowXP)安装了一个oralce9.2 ,要连接远端的linux(RedHat) Oracle数据库服务器。我用Net Configuration Assistant 配置了一个sid ,也测试成功了。但是我用sql plus 连接时 报错
    信息如下:
    ERROR:
    ORA-12154: TNS: 无法处理服务名谢谢各位大侠
      

  9.   

    什么叫“用Net Configuration Assistant 配置了一个sid ”?Net Configuration Assistant 配置的是tns服务名,该服务名在sqlplus连接时用到。你用sqlplus事究竟用的什么名字?
      

  10.   

    tnsname.ora 如下SZDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.156)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = SZDB)
          (SERVER = DEDICATED)
        )
      )
      

  11.   

    请参考:
    ORA-12154: TNS:could not resolve service name
    First open the tnsnames.ora file and check the settings
    eg-
    CHECK1 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST =CHECK2)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = CHECK3)
    )
    )
    IN THE ABOVE GIVEN SCRIPT
    CHECK1---> Data Source Name u r Connecting from the front end
    CHECK2---> Server name to which u r connecting
    CHECK3---> Service name/SID of the Data base u r connecting
    * - c:\> ping CHECK2 (Host ip or name) 
    if you cannot ping that means the client server network problem. Else* - c:\> telnet CHECK2:1521
    if you cannot connect to port ,network problem . Else* - c:\> TNSPING CHECK1if still the same error
    check SQLNET.ORA
    Commect other settings and keep only following line and TNSPING.
    SQLNET.AUTHENTICATION_SERVICES= (NTS)If not NTS change to NONE and TNSPING.If Still not working check whether a Spyware running on your PC.
    Run spyware detection tool.Do you have multiple Oracle installations on your machines like Oracle client and Developer ?
    If so you'll have to set up the tnsnames.ora on both HOMES.
    Or else setup the registry.
    Add string value TNS_ADMIN to \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
    Set the values of TNS_ADMIN to the folder where the tnsnames.ora you set up resides.
    Eg. C:\oracle\ora92\admin
      

  12.   

    那台Linux的监听器
    启了吗?
      

  13.   

    不启怎么可能测试成功呢??要么是测试的时候服务开了,你连的时候服务关了。要么就是你没有写对sid
      

  14.   

    首先你要确定你的服务器端的listener已经启动,而且数据库已经启动;其次要tnsping通过。如果都通过了就要确定你的sqlnet.ora中要有TNSNAMES项,否则也无法使用TNSNAMES进行连接
      

  15.   

    你在SQLPLUS连接的时候输入的不是SID,而是TNS NAME,如下:MYNAME =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.156)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = SZDB)
          (SERVER = DEDICATED)
        )
      )SQLPLUS连接用的是MYNAME,而不是SZDB