Как решить проблему с подключением к SQL Server из Oracle с помощью гетерогенных служб - PullRequest
0 голосов
/ 04 февраля 2019

У меня Oracle 11g и SQLServer 2017 на отдельной машине. Мне нужна ссылка от оракула на сервер sql. Я устанавливаю правильные имена и имена драйверов odbc и могу пинговать sid, для которого задан тест соединения, это нормально для драйвера.

odbc драйвер

HS_FDS_CONNECT_INFO = SQLSERVER1

HS_FDS_TRACE_LEVEL = OFF

tnsnames #:

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)
   )
)

SQLSERVER1 =
  (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-DJRR6FK)(PORT = 1521))
    (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = SQLSERVER1)
   )
    (HS=OK)
  )



 ORCL =
  (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
       (SERVICE_NAME = orcl)
    )
  )

listiner #:

    SID_LIST_LISTENER =




(SID_DESC =
        (SID_NAME = SQLSERVER1)
     (ORACLE_HOME = C:\app\JAB\product\11.2.0\dbhome_1)
      (PROGRAM = dg4odbc)


)

)

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

также ссылка на базу данных, которую я создаю.

, но когда

 select * from dbo.table1@sqlserver1

я иду ошибка, диагностированная Net8

я ожидаю, что набор выходных данных, но фактический вывод:

ORA-28545: ошибка, диагностированная Net8 при подключенииоператору Невозможно получить текст сообщения NETWORK / NCR 65535 ORA-02063: предыдущие 2 строки из EXCEL_EMPLOYEE_DBLINK 28545. 0000 - «Ошибка, диагностированная Net8 при подключении к агенту» * Причина: попытка вызвать внешнюю процедуру или вызватьПри инициализации соединения произошел сбой SQL в системе, отличной от Oracle, по ссылке на базу данных гетерогенных служб.Ошибка, диагностированная программным обеспечением Net8 NCR, сообщается отдельно.* Действие: см. Сообщение об ошибке Net8 NCRO.Если это не ясно, проверьте административную настройку соединения в tnsnames.ora и listener.ora для службы, связанной с используемой ссылкой на базу данных Heterogene Services, или с extproc_connection_data для вызова внешней процедуры.

...