Oracle 失败 "Unable to retrieve text of NETWORK/NCR message 65535",似乎没有读取 initSID.ora

Oracle failing with "Unable to retrieve text of NETWORK/NCR message 65535", seemingly not reading initSID.ora

第一次使用 Oracle 设置 ODBC link。我已经在 listener.ora、tnsnames.ora 和 \hs\admin 中设置了初始化文件,但是数据库 link 总是失败:

ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from EXTLINK
28545. 0000 -  "error diagnosed by Net8 when connecting to an agent"
*Cause:    An attempt to call an external procedure or to issue SQL
           to a non-Oracle system on a Heterogeneous Services database link
           failed at connection initialization.  The error diagnosed
           by Net8 NCR software is reported separately.
*Action:   Refer to the Net8 NCRO error message.  If this isn't clear,
           check connection administrative setup in tnsnames.ora
           and listener.ora for the service associated with the
           Heterogeneous Services database link being used, or with
           'extproc_connection_data' for an external procedure call.
Vendor code 28545

没有出现跟踪文件,这让我觉得甚至没有读取 init 文件。我可以使用 Access 连接到 ODBC 数据库,所以我知道它可以工作。 ODBC 驱动程序和 DG4ODBC 都是 64 位的。

这是我目前尝试过的方法:

这是ora文件。为保护机密性,一些名称已更改,但其他方面未受影响。

tnsnames.ora:

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

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


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.[DOMAINNAME].local)
    )
  )


EXTLINK=
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TCP)(HOST = [HOSTNAME])(PORT=1521))
    (CONNECT_DATA=(SID=EXTLINK))
    (HS=OK)
  )

listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\[MYUSERNAME]\virtual\product.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLSONLY:C:\app\[MYUSERNAME]\virtual\product.2.0\dbhome_1\bin\oraclr12.dll")
    )
     (SID_DESC=
       (SID_NAME=EXTLINK)
       (ORACLE_HOME=C:\app\[MYUSERNAME]\virtual\product.2.0\dbhome_1)
       (PROGRAM=dg4odbc)
     )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = [HOSTNAME])(PORT = 1521))
    )
  )


CONNECT_TIMEOUT_LISTENER = 0

%ORACLE_HOME\hs\admin\initEXTLINK.ora:

# Windows
HS_FDS_CONNECT_INFO = EXTLINK
HS_FDS_TRACE_LEVEL = 255
HS_FDS_FETCH_ROWS=1
HS_KEEP_REMOTE_COLUMN_SIZE = LOCAL
#HS_NLS_NCHAR=UCS2
HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1

连接字符串:

CREATE PUBLIC DATABASE LINK EXTLINK CONNECT TO "Username" IDENTIFIED BY "Pass" USING 'EXTLINK';

改为安装 18c XE,它运行良好,对我来说已经足够了。不过,我不知道为什么它一开始就失败了。