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

MS SQL 2008 - установка связанного сервера Oracle [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 =

 (DESCRIPTION = 

   (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521)) 
   (CONNECT_DATA = 
       (SERVER = DEDICATED) 
       (SERVICE_NAME = oracle.blue.local)
   )
 )

listener.ora

СЛУШАТЕЛЬ =

  (DESCRIPTION_LIST =

      (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521))
       )
   )

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

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

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

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

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

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

    «ORA-12504: TNS: слушателю не было присвоено имя_службы в CONNECT_DATA.» (Microsoft SQL Server, ошибка: 7303)

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

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

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

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

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

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

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