Я пытаюсь настроить связанный сервер на 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?
Я ничего не вижу неправильно с Вашим файлом TNSNAMES.ora, синтаксически. Я смог скопировать/вставить в мой и имя хоста изменения и сервисное название и успешно соединиться.
Попытайтесь соединиться с SQL*Plus. Это дает Вам ту же ошибку? Можете Вы соединяться с синтаксисом EZCONNECT: sqlplus user@ 'slug.blue.local:1521/oracle.blue.local'?
У Вас есть больше чем один клиент Oracle установленным в Вашей локальной системе?
Кроме того, попробуйте базовый файл TNSNAMES.ORA только с записью, которую Вы отправили.
Кроме того, Вы пытались соединиться с SQL*Plus с помощью tnsnames.ora файла? Т.е., sqlplus user@oracle