最近新安裝了64位的Win7系統,工作中需要用oracle數據庫,而數據庫是公司IT的DBA進行管理和維護的。
我們只需要連接上去進行使用就可以了,於是我就在自己的機器上安裝了oracle client x64和PL/SQL程序,oracle client也設置了環境變量等配置,但打開plsql的時候無法顯示數據庫,效果如下圖:
於是,我自己到網上查了一下,網上說法很多,如下說明。
1、問題
Plsql到目前為止只有32位的程序,而大多數的桌面系統基本都是使用64位的windows操作系統,在64位的windows上,大多數情況下也是安裝64位的ORACLE client程序,這種組合,導致plsql無法識別到ORACLE_HOME目錄,讀取不到tnsnames.ora文件中的連接串
2、解決方案
2.1使用instantclient-basic-win32-10.2.0.5
去官方網站下載,將instantclient-basic-win32-10.2.0.5.zip文件解壓,壓縮后的文件,復制到指定的目下,如C:\oracle\instantclient_10_2\,最終instantclient的目錄為C:\oracle\product\instantclient_10_2
2.2 在windows上配置環境變量
右擊“我的電腦”點擊”屬性“菜單,進入”系統屬性“對話框,選擇”高級“標簽,點擊“環境變量”,在用戶變量框區域,新建一個名為‘ORACLE_HOME的變量名,根據自己的ORACLE實際安裝目錄填寫其值,例如,筆者的環境的ORACLE_HOME的值為” C:\oracle\product\instantclient_10_2”
參考出處:http://www.2cto.com/database/201503/386267.html
===============================================================
安裝了64位的Oracle 11g,使用PLSQL Developer配置好之后 ,讀不到oracle的數據庫。
現象如下圖:
結合自己的分析和其它資料,總結了解決方法。
1 因為PLSQL Developer是32位的,所有需要下載oracle32位的客戶端,
地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html。
instantclient-basic-nt-11.2.0.4.0.zip。免安裝版的,下載下來解壓的本地就行了。
2 假設:oracle的安裝home路徑為D:\oracle\product\11.2.0;
客戶端的解壓地址為D:\oracle\instantclient_11_2。
3 配置環境變量:這一步和其它方法略有所不同,這里可以不復制tnsnames.ora文件到客戶端目錄中。
(相信這里就不用說怎么配置環境變量了吧):
TNS_ADMIN =D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
說明:TNS_ADMIN,是指tnsnames.ora文件所在的目錄名。
如果指定到客戶端目錄,則必須把tnsnames.ora文件復制過來才可以。
NLS_LANG環境變量,要設置成和數據庫端一致,可以在SQLPLUS查詢字符集信息
SQL> select userenv('language') nls_lang from dual;NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4 客戶端的使用在這里:
設置Oracle Home 為oracle安裝目錄home
設置OCI Library為oracle客戶端的oci.dll文件的全路徑名。
Apply & Ok。
5 關掉plsql,重啟。看一下,現在有了
這里主要就是兩點,環境變量TNS_ADMIN配置成tnsnames.ora文件所在的目錄名;
PLSQL中OCI Library設置成oracle客戶端的oci.dll。
參考出處:http://blog.csdn.net/netdevgirl/article/details/27818709
==============================================================
綠色啟動環境變量配置
另外,也可以編寫一個bat文件設置下環境變量;
打開PLSQL Developer的安裝目錄C:\Program Files\PLSQL Developer
編寫一個a.bat,文件內容如下:
@echo off
set path=D:\Program Files\instantclient_11_2
set ORACLE_HOME=D:\Program Files\instantclient_11_2
set TNS_ADMIN=D:\Program Files\instantclient_11_2
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
start plsqldev.exe
注意:set NLS_LANG=AMERICAN_AMERICA.AL32UTF8(為英文)
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(中文的)
我這里oracle11g有可能數據庫是中文所以我用了16gbk的,保存txt文本並且修改后綴名為bat,然后雙擊bat文件,作為PLSQL Developer的啟動快捷方式替換PLSQL Developer傳統啟動方式
5,關閉PLSQL Developer重新打開連接成功,我這里所有的都用管理員身份運行的;
6,注意:以后Oracle的監聽每次有修改過都要雙擊a.bat重新指向!要不然就會報ora-12154 tns:could not resolve the connect identifier specified錯誤
出處:http://blog.csdn.net/tang745163962/article/details/47419501