Связанный SQL Server с Oracle

Получение этой ошибки при выполнении запроса SQL Server только при подключении через удаленный рабочий стол.

При запуске запроса с рабочего стола проблем нет. Это проблема tsnNames?

Связанный сервер с Oracle 9i

Сервер: Msg 7399, уровень 16, состояние 1, строка 1, поставщик OLE DB 'MSDAORA' сообщил об ошибке.
[Поставщик OLE/DB возвратил сообщение: неопределенная ошибка] [Поставщик OLE/DB возвратил сообщение: ORA-01041: внутренняя ошибка. расширение hostdef не существует] Трассировка ошибок OLE DB [поставщик OLE/DB 'MSDAORA' ICommandText::Execute вернул 0x80004005: ].


Вот информация для одного из моих соединений:

Product name: Oracle
Data source: xxxx.world
Provider string: MSDAORA

Я использовал драйвер Oracle 9i для DSN

Вот запись tnsnames:

xxx.world =
      (DESCRIPTION= 
        (ADDRESS_LIST= 
          (ADDRESS=
         (COMMUNITY=tcp.world)
         (PROTOCOL=tcp)
         (HOST=gvx0aidwh01p.xxxx.com)
         (PORT= 1521)
          )
         ) 
        (CONNECT_DATA=
        (SID=idwp5)
          )
      )

1 ответ

Я не думаю, что это будет TNSNAMES вопрос, если он работает с вашего рабочего стола. Все соединения со связанными серверами выполняются относительно экземпляра SQL Server. Таким образом, файл TNSNAMES настроен на компьютере, на котором размещен SQL Server, чтобы связанный сервер мог найти соответствующую запись. Если он работает в одном месте, он должен работать везде.

Я настроил довольно много связанных серверов с Oracle, но я не эксперт Oracle. Я немного покопался и обнаружил, что нашел это по ссылке на код ошибки Oracle:

ORA-01041: внутренняя ошибка. Расширение hostdef не существует
Причина. Указатель на расширение hstdef в hstdef имеет значение null.
Действие: Сообщить об ошибке

Возможно, вам нужно обратиться в службу поддержки Oracle.

Если бы вы могли также предоставить нам некоторую информацию о конфигурации вашего связанного сервера, мы могли бы обнаружить что-то еще.

Другие вопросы по тегам