2011-10-14 43 views
4

我正在尝试编写一个VB脚本来添加/编辑/删除tnsnames.ora中的一些条目。使用这种配置(假设有可能),Oracle客户端应该引用现有的tnsnames.ora文件(比如说myProjectOraNames.ora)而不是修改tnsnames.ora文件将很方便在TNSORANAMES.ora中引用外部文件

和我的新myProjectOraNames.ora获取服务的详细信息。

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

+0

你调查甲骨文OID? – Randy

回答

0

冒着一些冲突或故障,您可以始终使用TNS_ADMIN变量来确定SQL * Net配置文件(如sqlnet.ora和tnsnames.ora)所在的目录的位置。 在你的脚本,你可以做以下性质的东西:

set TNS_ADMIN=\some\path 

,然后用更新进行 - 客户端与运行(请确保\some\path拥有所有前作所需的SQL * Net的文件。)此上下文将查找\some\path下的文件。但是,我不认为你可以为这个环境变量定义多个路径。

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文件有一个IFILE引用您的myProjectOraNames.ora文件