2014-10-20 519 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