C#连接oracle,报错ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

        public static OracleConnection OpenConn()
         {
             OracleConnection conn = new OracleConnection();
             conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PLM-TEST.zltz.com)(PORT=1521))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = ORCL-DB)));Persist Security Info=True;User ID=ZLPLM2;Password=ZLPLM2;";
             conn.Open();
             return conn;
         }

按照网上的通用代码来做访问

try catch写了报错日志

2021/6/9 10:32:26aaaaORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
2021/6/9 10:32:26关闭

C:\Windows\system32>tnsping orcl

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-6月 -2021 10:46:08

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的参数文件:
E:\app\petty.yuan\product\11.2.0\dbhome_1\network\admin\sqlnet.ora


已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PLM-TEST.zltz.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL-DB)))
OK (20 毫秒)

做了tnsping,访问没问题

C:\Windows\system32>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-6月 -2021 10:46:57

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期                  09-6月 -2021 10:28:32
正常运行时间              0 天 0 小时 18 分 29 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\app\petty.yuan\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件          e:\app\petty.yuan\diag\tnslsnr\PLM-TEST\listener\alert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PLM-TEST.zltz.com)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCL-DB" 包含 1 个实例。
  实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl.zltz.com" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB.zltz.com" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

lsnrctl status 的摘要出现了我指定的数据库服务名,但是状态是unknown,



ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = PLM-TEST.zltz.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL-DB)
    )
  )

tnsnames的内容

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\app\petty.yuan\product\11.2.0\dbhome_1)
      #(PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\app\petty.yuan\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )  
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL-DB)
      (ORACLE_HOME = E:\app\petty.yuan\product\11.2.0\dbhome_1) 
      (SID_NAME = orcl)
    ) 
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = PLM-TEST.zltz.com)(PORT = 1521))
    )
  )

listener的内容,

 

请教哪里出了问题

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。