6

我正在尝试编写一个 VB 脚本来添加/编辑/删除 tnsnames.ora 中的一些条目。引用/修改外部文件(比如 myProjectOraNames.ora)而不是修改 tnsnames.ora 会很方便

使用此配置(假设可能),Oracle 客户端应同时参考现有的 tnsnames.ora 文件和我的新 myProjectOraNames.ora 以获取服务详细信息。

是否有任何选项/配置可以实现此功能?

4

2 回答 2

10

您可以使用 IFILE 命令配置主 tnsnames.ora 文件以使用其他文件。

例如,在我的笔记本电脑上,我为不同的客户端设置了单独的 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 文件具有对 myProjectOraNames.ora 文件的 IFILE 引用

于 2011-10-14T16:37:04.817 回答
0

冒着一些冲突或故障的风险,您始终可以确定 SQL*Net 配置文件(如 sqlnet.ora 和 tnsnames.ora)所在目录的位置 - 使用TNS_ADMIN变量。在您的脚本中,您可以执行以下性质的操作:

set TNS_ADMIN=\some\path

(确保\some\path具有所有必需的 sql*net 文件。)

然后继续更新 - 使用此上下文运行的客户端将在\some\path. 但是,我认为您不能为此环境变量定义多个路径。

于 2011-10-14T16:24:56.163 回答