Ссылка на внешний файл в TNSORANAMES.ora - PullRequest
4 голосов
/ 14 октября 2011

Я пытаюсь написать скрипт VB для добавления / редактирования / удаления некоторых записей в tnsnames.ora.Будет удобно ссылаться / изменять внешний файл (скажем, myProjectOraNames.ora), а не изменять tnsnames.ora

При такой конфигурации (при условии, что это возможно) клиент Oracle должен ссылаться на оба существующих tnsname.ora file и мой новый myProjectOraNames.ora для получения сведений о сервисе.

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

Ответы [ 2 ]

7 голосов
/ 14 октября 2011

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

Например, на моем ноутбуке у меня есть отдельные файлы tnsnames.ora для разных клиентов.Поэтому мой файл tnsnames.ora выглядит примерно так:

JCAVE11G.WORLD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <<ip address>>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = jcave11gr2)
    )
  )


IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client1
IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client2
IFILE = c:\oracle\product\11.1.0\db_1\Network\Admin\tnsnames.ora.client3

Вы можете сделать что-то похожее, если основной файл tnsnames.ora имеет ссылку IFILE на ваш файл myProjectOraNames.ora

0 голосов
/ 14 октября 2011

Опасаясь некоторых конфликтов или сбоев, вы всегда можете определить местоположение каталога, в котором находятся файлы конфигурации SQL * Net (например, sqlnet.ora и tnsnames.ora) - с помощью переменной TNS_ADMIN.В вашем скрипте вы можете сделать что-то вроде следующего:

set TNS_ADMIN=\some\path

(Убедитесь, что \some\path имеет все необходимые файлы sql * net.)

, а затем продолжите обновление- клиент, работающий с этим контекстом, будет искать файлы в \some\path.Однако я не думаю, что для этой переменной среды можно определить несколько путей.

...