2014-10-20 520 views
0

所以我有一个客户在跨平台环境中部署多个版本的oracle。他们将TNS名称文件存储在网络资源上。用户将通过Windows 8.1访问。 将有32位和64位版本的12C。客户端希望能够使用TNS_ADMIN环境变量来解析TNS名称,并且基本上希望这是每个登录工作站的用户的永久设置。我已经阅读了许多文章,有人说在HKLM下的环境关键词下有人说在HKLM和软件下创建它。有人说HKCU只适用于当前登录的用户。任何援助与此将不胜感激。TNS_ADMIN环境变量

回答

1

我亲自通过环境变量来设置它,而不是注册表。您应该可以添加到该机器上的全局环境变量。如果您在注册表中设置它,它应该是HKLM(本地计算机),因为这是Oracle针对Oracle主目录和配置变量默认使用的,尽管Oracle不使用Windows软件注册表,但它会在自己的数据库中跟踪这是通过OUI进行管理的。

一个简单的测试方法是在非标准位置创建一个tnsnames.ora文件,指向TNS_ADMIN,添加一个条目(FOO1)并保存,然后尝试从命令提示符处输入FOO1。

如果设置生效,您会很快看到。

+0

我很欣赏答案,但这并不能为我们的案例提供解决方案。将其设置在机器上不是一种选择。我认为它是HKLM,但它是在HKLM \ Software \ WOW6432Node下,是在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment下,还是在HKEY_CURRENT_USER \ Environment下。如果它是在当前用户下面,那么会带来更大的挑战,因为我们希望在安装过程中完成此任务最后,我知道Unix/Oracle/Java的密钥本身的价值有时在env中使用“\\”。变量。请记住,我们正在谈论网络位置。 – 2014-10-21 15:04:50

+0

好吧,我提出的原因是你的问题陈述'基本上希望这是每个登录工作站的用户的永久设置“,所以我不确定你是否使用配置文件。所以你使用的是一个域,并且想要在每个用户或所有用户的用户配置文件中设置它? – codenheim 2014-10-21 16:36:52

+0

还是我一直困惑,这是一个安装程序... – codenheim 2014-10-21 16:38:08