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