Назад | Перейти на главную страницу

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

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

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

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

Сервер: Сообщение 7399, уровень 16, состояние 1, строка 1 Поставщик OLE DB «MSDAORA» сообщил об ошибке.
[Поставщик OLE / DB вернул сообщение: неизвестная ошибка] [Поставщик OLE / DB вернул сообщение: ORA-01041: внутренняя ошибка. hostdef extension не существует] трассировка ошибки 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)
          )
      )

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

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

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

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

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