plsql在64位機器下讀取tnsname.ora 及oracle_home異常的解決辦法


問題是:

我在自己電腦(win7  64bit)上安裝了oracle的64位數據庫   通過sqlplus能正常連接

主要是安裝pl/sql時   我是這樣安裝的
1、在網上下載了個instantclient-basic-nt-11.2.0.3.0包  解壓放在E盤下   路徑如下E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2

2、我在PL/SQL中的perferences中connection中的oracle_home:E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2
                                                                   OCI_library:E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2\oci.dll

3、然后我在環境變量中的path中加入了 E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2;
    新建NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK(數據庫字符集)
    新建TNS_ADMIN:E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2\NETWORK\ADMIN;

重啟了pl/sql  並不能鏈接數據庫  (之前是能正常用的  但是前幾天我重新建了一個數據庫后就不行了 )

解決辦法是:

方法一:

pldev 似乎不能正確讀取環境變量,它總是嘗試讀取注冊表第一個oraclehome,我也有跟你一樣的環境,我這里好用,設置方法:

1)在pldev中的perferences中connection中的oracle_home:E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2
                                                                   OCI_library:E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2\oci.dll
2)這個很重要,在E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2也創建一個networ\admin目錄,將注冊表中第一個oraclehome下的tnsname.ora復制進來

3)正如我說的,pldev不能正確讀取環境變量,也不能正確讀取你在pldev中配置的orahome,它總會嘗試讀取注冊表第一個oraclehome,來取得連接串,沒關系,只要保證注冊表第一個oraclehome的tnsname.ora與E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2的tnsname.ora一樣就可以了

4)然后你就能通過tnsname來連接數據庫了,注意一點,如果你需要添加新的網絡連接,總是在注冊表第一個oraclehome的tnsname.ora和E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2的tnsname.ora同時添加。

倒霉催的pldev!不支持64bit!

方法二:

1.安裝64位oracle DB。
2.安裝32位Oracle Client。 
  ..\instantclient-basic-win32-10.2.0.5.zip
3.安裝PL/SQL Developer。 

4. 選擇Tools > Preferences > options > "Oracle Home" and "OCI Library",例如:
Oracle Home: C:\Download\Software\instantclient-basic-win32-10.2.0.5
OCI Library: C:\Download\Software\instantclient-basic-win32-10.2.0.5\instantclient_10_2\oci.dll


5. 設置環境變量 NLS_LANG 和  TNS_ADMIN ,例如:

NLS_LANG: AMERICAN_AMERICA
TNS_ADMIN: C:\app\oracle\product\11.2.0\dbhome_1\network\admin\

 

 

轉:plsql在64位機器下讀取tnsname.ora 及oracle_home異常的解決辦法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM