ora-12504: tns:listener 未在 windows 10 中的 connect_data 中给出 service_name

ora-12504: tns:listener was not given the service_name in connect_data in windows 10

我正在将我的应用程序与 Oracle 数据库连接,但当我尝试登录我的应用程序时出现上述错误。

我已经尝试在 tnsnames.ora 文件中进行不同的更改。

以下代码在我的 listener.ora 文件中:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\DELL\product.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\DELL\product.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = C:\app\DELL

下面的代码在 tnsnames.ora 文件中:

谢= (说明 = (地址 =(协议 = TCP)(主机 = 本地主机)(端口 = 1521)) (CONNECT_DATA = (服务器 = 专用) (SERVICE_NAME = xe) ) )

LISTENER_XE = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORACLE_CONNECTION_DATA = (说明 = (ADDRESS_LIST = (地址 =(协议 = IPC)(密钥 = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (演示文稿 = RO) ) )

DATA SOURCE 应设置为 TNS 名称,而不是本地主机,因此:

<add name="DSN" connectionString="DATA SOURCE=XE;USER ID=ocr_test;PASSWORD=pass;" providerName="Oracle.DataAccess.Client"/>

仅供参考,ConnectionStrings.com 是一个很好的参考。