Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Linked server to oracle  [new]
karu
Member

Откуда:
Сообщений: 34
Здравствуйте, народ, выручайте, все форумы и статьи перерыл, не нашел решение.
Суть проблемы в следущем:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
Есть сервер, на нем установлен oracle client win64_11gR2_client, когда файл tnsnames.ora находится в C:\oracle\product\11.2.0\client_1\network\admin- то linked server в оракл работает везде, если выкладываю файл на unc путь \\corp\applications$\TNS_Names и удаляю локально, затем создаю переменную окружени TNS_ADMIN (\\corp\applications$\TNS_Names)- линк работает только при подключении к sql server с локальной машины, при удаленных коннектах такая ошибка- скриншот

К сообщению приложен файл. Размер - 47Kb
24 апр 13, 12:20    [14223193]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle  [new]
karu
Member

Откуда:
Сообщений: 34
Пробовал создавать TNS_ADMIN в пользовательские, системные переменные среды, добавлял ключ TNS_ADMIN в реестр HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE, HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1, ребутал сервер много раз, не работает и все.
24 апр 13, 12:24    [14223224]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
karu
Здравствуйте, народ, выручайте, все форумы и статьи перерыл, не нашел решение.
Суть проблемы в следущем:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
Есть сервер, на нем установлен oracle client win64_11gR2_client, когда файл tnsnames.ora находится в C:\oracle\product\11.2.0\client_1\network\admin- то linked server в оракл работает везде, если выкладываю файл на unc путь \\corp\applications$\TNS_Names и удаляю локально, затем создаю переменную окружени TNS_ADMIN (\\corp\applications$\TNS_Names)- линк работает только при подключении к sql server с локальной машины, при удаленных коннектах такая ошибка- скриншот
За подобные "издевательства" оракловые (и не только) DBA Вас расстреляют... И, возможно, даже неоднократно... :)
Для серверов такое (выкладывание конфигурационных файлов на сетевые ресурсы) лучше не делать: малейшая проблема в сети, и Вы имеете неработающий сервер.

А непосредственно по поводу Вашей ситуации - проверьте права на чтения файла для учетной записи, под которой Вы запускаете mssql. Не понятно только как на это влияет подключение к mssql-серверу "с локальной машины"...
24 апр 13, 13:01    [14223550]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle  [new]
karu
Member

Откуда:
Сообщений: 34
sphinx_mv, по поводу выкладывания tnsnames на unc- вроде это распространенная практика(хочется иметь ОДИН tnsnames файл и править только его в случае изменения, а не файлы на всех машинах, которые подключаются к оракл).
sql server работает от имени доменной учетной записи, права на чтение есть(даже давал full control), что еще интересно- при использовании tnsnames с unc- даже EXEC xp_cmdshell 'tnsping oracle_name' проходит, но линк не работает.
24 апр 13, 13:13    [14223660]     Ответить | Цитировать Сообщить модератору
 Re: Linked server to oracle  [new]
Гость333
Member

Откуда:
Сообщений: 3683
karu
по поводу выкладывания tnsnames на unc- вроде это распространенная практика

Это печальная практика, имхо. Кроме значения параметра NAMES.DIRECTORY_PATH, равного tnsnames, есть также и другие значения (ldap/ezconnect/nis): http://docs.oracle.com/cd/E11882_01/network.112/e10835/sqlnet.htm#BIIGEAHH.

tnsnames — это local naming method:
http://docs.oracle.com/cd/E11882_01/network.112/e10835/glossary.htm#BGBCCBJG
local naming

A naming method that locates network addresses by using information configured and stored on each individual client's tnsnames.ora file. Local naming is most appropriate for simple distributed networks with a small number of services that change infrequently.
24 апр 13, 13:32    [14223794]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить