1、服务器安装ORACLE 11G;
2、客户端安装ORACLE 11G EXPRESS;
3、服务器和客户端都安装了PL/SQL,链接自身没问题;
4、修改了客户端的tnsnames.ora,还是无法链接服务器,CNT为自己添加的。
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Billy)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )  
CNT =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.150)(PORT = 1521))
     ) 
    (CONNECT_DATA =
      (SERVICE_NAME = KIRCH)
    )
  )  EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

解决方案 »

  1.   

    报什么错?先ping一下两台机能不能连通
      

  2.   

    ORA-12541;TNS;无监听程序。互相可以PING通。
      

  3.   

    PL/SQL本机都可以正常使用,都在同个网段,咋回事了?
      

  4.   

    在客户端配置net manager,测试一下能不能连接上,在用plsql连接一下了
      

  5.   

    看看环境参数path是不是对的。我就碰到过这样的问题。在电脑上既装了oracle11g的客户端,又装了oracle10g的客户端。oracle读取tnsnames.ora文件的时候,是按环境变量path的路径来的。
      

  6.   

    服务器上 lsnrctl status,看监听是否启动
      

  7.   

    还是不行啊。服务器为WINDOWS 2008加ORACLE 11g,工作站为WINDOWS 7加Oracle XE 11g,监听器也启动了,工作站和服务器都能用PLSQL Developer访问自身的数据库,但我用工作站访问服务器数据库就不行,以前10g可以啊,晕。
    工作站的listener.ora
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = Billy)(PORT = 1521))
        )
      )DEFAULT_SERVICE_LISTENER = (XE)
    工作站的tnsnames.ora,KIRCH为服务器的配置
    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Billy)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )  
    KIRCH =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.150)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = KIRCH)
        )
      )
    )  EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )ORACLR_CONNECTION_DATA = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
        ) 
        (CONNECT_DATA = 
          (SID = CLRExtProc) 
          (PRESENTATION = RO) 
        ) 
      )