Я пытаюсь настроить связанный сервер на 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