我正在尝试编写一个 VB 脚本来添加/编辑/删除 tnsnames.ora 中的一些条目。引用/修改外部文件(比如 myProjectOraNames.ora)而不是修改 tnsnames.ora 会很方便
使用此配置(假设可能),Oracle 客户端应同时参考现有的 tnsnames.ora 文件和我的新 myProjectOraNames.ora 以获取服务详细信息。
是否有任何选项/配置可以实现此功能?
我正在尝试编写一个 VB 脚本来添加/编辑/删除 tnsnames.ora 中的一些条目。引用/修改外部文件(比如 myProjectOraNames.ora)而不是修改 tnsnames.ora 会很方便
使用此配置(假设可能),Oracle 客户端应同时参考现有的 tnsnames.ora 文件和我的新 myProjectOraNames.ora 以获取服务详细信息。
是否有任何选项/配置可以实现此功能?
您可以使用 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 引用
冒着一些冲突或故障的风险,您始终可以确定 SQL*Net 配置文件(如 sqlnet.ora 和 tnsnames.ora)所在目录的位置 - 使用TNS_ADMIN
变量。在您的脚本中,您可以执行以下性质的操作:
set TNS_ADMIN=\some\path
(确保\some\path
具有所有必需的 sql*net 文件。)
然后继续更新 - 使用此上下文运行的客户端将在\some\path
. 但是,我认为您不能为此环境变量定义多个路径。