那你看看你配置的服务名是不是正确,在oracle_home/network/admin/tns.ora 文件里面(我这里没有环境,所以不能把内容写出来),你看看你的远程主机名是不是正确,数据库sid是不是正确

解决方案 »

  1.   

    远程登录必须有服务名用sqlplus  usernaem/password@server_name
      

  2.   

    你用tnsping your_sevicename 看看通不通,在tnsname.ora文件中看看有没有写错
      

  3.   

    tnsping 是否通?
    服务名有没有写错?
      

  4.   

    tnsping service_name
    也没反应,不通
      

  5.   

    tnsnames.ora文件中的service_name是否和数据库的一致?
      

  6.   

    从新使用NET CONFIG配制你的服务,
    首先服务器的监听服务要启动,然后重新用向导配制连接服务。
      

  7.   

    如何穿过防火墙连接数据库 
    [A]这个问题只会在WIN平台出现,UNIX平台会自动解决。 
    解决方法: 
    在服务器端的SQLNET.ORA应类似 
    SQLNET.AUTHENTICATION_SERVICES= (NTS) 
    NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) 
    TRACE_LEVEL_CLIENT = 16 
    注册表的HOME0加[HKEY_LOCAL_MACHINE] 
    USE_SHARED_SOCKET=TRUE
      

  8.   

    在bin的里面把tns的把服务启动起来
      

  9.   

    首先检查你是否正确配置了oracle的服务名,如果没有进行配置,如果配置了,使用tnsping试一下,把结果贴出来看看
      

  10.   

    改一下配置文件oracle\app\product\9.2.0\network\admin 名字为tnsnames.ora
    加入一个
    数据库名 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库ip)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = 数据库名)
        )
      )