第一次使用Oracle设置ODBC链接。我已经在\hs\admin中设置了listener.ora、tnsnames.ora和init文件,但是数据库链接始终失败:
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位.
到目前为止,我尝试过的是:
这是我们的文件。一些名称已经被更改以保护机密性,但它在其他方面是没有被触及的。
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\12.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLSONLY:C:\app\[MYUSERNAME]\virtual\product\12.2.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC=
(SID_NAME=EXTLINK)
(ORACLE_HOME=C:\app\[MYUSERNAME]\virtual\product\12.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';发布于 2019-10-21 13:48:53
取而代之的是安装了18c XE,它工作得很完美,所以这对我来说已经足够好了。但我不知道它为什么一开始就失败了。
https://stackoverflow.com/questions/58440907
复制相似问题