MS SQL 2008 - Setup Oracle Linked Server [SERVICE_NAME не указана ошибка]

Я пытаюсь настроить связанный сервер на MS SQL 2008 R2 на сервер Oracle 11g. У меня установлен клиент Oracle и скопированы со следующего значения sqlnet.ora, tnsnames.ora & listener.ora со следующими значениями:

sqlnet.ora

SQLNET. AUTHENTICATION_SERVICES= (NTS)

ИМЕНА. DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.ora

ORACLE =

 (ОПИСАНИЕ = 

(АДРЕС = (ПРОТОКОЛ = TCP)(ХОСТ = slug.blue.local)(ПОРТ = 1521)) 
 (CONNECT_DATA = 
 (СЕРВЕР = ВЫДЕЛЕННЫЙ) 
 (SERVICE_NAME = oracle.blue.local)
 )
 )

listener.ora

LISTENER =

 (DESCRIPTION_LIST =

(ОПИСАНИЕ =
 (АДРЕС = (ПРОТОКОЛ = IPC)(КЛЮЧ = EXTPROC1521))
 (АДРЕС = (ПРОТОКОЛ = TCP)(ХОСТ = slug.blue.local)(ПОРТ = 1521))
 )
 )

Но я продолжаю получать эту ошибку при создании нового связанного сервера

Связанный сервер был создан, но не прошел тест подключения. Вы хотите сохранить связанный сервер?

Дополнительная информация:

  • При выполнении инструкции или пакета Transact-SQL произошло исключение. (Microsoft.SqlServer.ConnectionInfo)

  • Не удается инициализировать объект источника данных поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера "ORACLE".

    Поставщик OLE DB "OraOLEDB.Oracle" для связанного сервера "ORACLE" вернул сообщение

    "ORA-12504: TNS:listener не получил SERVICE_NAME в CONNECT_DATA" (Microsoft SQL Server, ошибка: 7303)

Может ли кто-нибудь обнаружить какие-либо проблемы с моей конфигурацией?

Существуют ли другие способы указать SERVICE_NAME или все происходит из ora-файлов в клиенте oracle?

1
задан 27 April 2011 в 17:28
1 ответ

Я ничего не вижу неправильно с Вашим файлом TNSNAMES.ora, синтаксически. Я смог скопировать/вставить в мой и имя хоста изменения и сервисное название и успешно соединиться.

Попытайтесь соединиться с SQL*Plus. Это дает Вам ту же ошибку? Можете Вы соединяться с синтаксисом EZCONNECT: sqlplus user@ 'slug.blue.local:1521/oracle.blue.local'?

У Вас есть больше чем один клиент Oracle установленным в Вашей локальной системе?

Кроме того, попробуйте базовый файл TNSNAMES.ORA только с записью, которую Вы отправили.

Кроме того, Вы пытались соединиться с SQL*Plus с помощью tnsnames.ora файла? Т.е., sqlplus user@oracle

1
ответ дан 4 December 2019 в 01:36

Теги

Похожие вопросы