菜鸟,刚开始使用oracle。因为项目需要,需要使用nmp(named pipe)方式远程连接oracle。服务器:win2003 + oracle 11g
客户端:sqlplus问题:已在服务器端配置好监听器监听nmp、TCP, 并且在服务器端本地可以使用sqlplus以NMP或TCP方式登录。
          通过网络(本地局域网), 在客户端机器上使用sqlplus可以用tcp方式正常连接到服务器,但指定使用nmp方式后,sqlplus报错: ERROR: ORA-12560:TNS: 协议适配器错误。 客户端使用pl/sql developer 或delphi BDE也是一样现象。服务器端的配置:
//以下为listener.ora
LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = DBSERVER)(PORT = 1521))    )    (DESCRIPTION =      (ADDRESS = (PROTOCOL = NMP)(SERVER = DBSERVER)(PIPE = ORAPIPE))    )    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = orclipc))    )  )//以下为tnsnames.ora
ORANMP =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = NMP)(SERVER = DBSERVER)(PIPE = ORAPIPE))    )    (CONNECT_DATA =      (SERVICE_NAME = orcl)    )  )ORATCP =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.25)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = orcl)    )  )
客户端tnsnames.ora配置同服务器端。另,将客户端tnsnames.ora中server一项配为服务器IP也是一样错误。
在服务器抓包可见,客户端打开管道正常,但PeekNamedPipe请求失败,导致退出。求高人指教,是否nmp连接方式有限制,还是我在配置使用中有错?先行谢过。

解决方案 »

  1.   

    先在本机测试 命名管道能用不
    lntstcl 
     
    本机没问题了,
    在用new view 测试,
    或直接在网上邻居中看能打开不,
    网上邻居 中 要是都打不开,说明,你都不能访问 服务器的资源,肯定不能访问 服务器的管道.
    网上邻居打开了. 
    你在客户端在测在
      

  2.   

    客户机端在配置一个服务,用 nmp  ,服务名用一个新的.