解決PLSQL連線64位Oracle的問題
由於現在的筆記本大都是64位的window7系統,然而PLSQL_Developer沒有64位的,這造成了我們連線的麻煩,這裡教大家怎麼將win7_oracle11g_64位連線32位PLSQL_Developer。
我實踐了很多次,但一直報錯:
1、沒有資料庫例項
2、沒有正確安裝32位客戶端
3、介面卡錯誤
我的工具:
-
1.已經裝好的64位Oracle資料庫
-
2.window7_64位的作業系統
-
3.PLSQL_Developer 9.0以上版本(目前只有32位的)
-
4.官方的 instantclient-basic-win32-11.2.0.1.0 檔案(這是32位的Oracle客戶端)--可到官方網站去下載相應版本,但一定得是基 本版的!!
-
-
安裝你下載的PLSQL_Developer並點選漢化檔案進行漢化。
安裝好開啟你會發現你的PLSQL_Developer不能正常連線到資料庫,沒有資料庫的初始化內容,如圖所示: -
一、請將你下載的instantclient-basic-win32-11.2.0.3.0 檔案解壓。然後複製到你的資料庫安裝的資料夾下的product的資料夾下,我的是:
F:\app\admin\product\instantclient_11_2。
-
-
-
二、然後找到Oracle11g中的兩個檔案listener.ora和tnsnames.ora我的在F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN裡面。都複製到F:\app\admin\product\instantclient_11_2的下面。
-
三、然後找到你的PLSQL_Developer安裝的目錄,我的是:
F:\PLSQL_Developer
在裡面新建一個記事本,寫入以下類似程式碼:
@echo off
set path=F:\app\admin\product\instantclient_11_2
set ORACLE_HOME=F:\app\admin\product\instantclient_11_2
set TNS_ADMIN=F:\app\admin\product\instantclient_11_2
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe
若是中文編碼,則設定為NLS_LANG=SIMPLEFIED CHINESE_CHINA.AHS16GBK
寫好後,將你的記事本名稱改為start.bat然後點選執行。
四、開啟PLSQL_Developer後,取消登陸,進入主介面。
1.點選--工具--首選項--連線:
2.把上面的登出改為提交
3.OCI庫改為帶有instantclient_11_2的路徑。
4.應用--確定--關閉PLSQL_Developer重新執行。
檢查連線選中,
oracle主目錄名:F:\app\admin\product\instantclient_11_2,
OCI庫:F:\app\admin\product\instantclient_11_2\oci.dll
設定完成之後點選應用即可。沒配置對,會報以下錯誤:
若此時仍有問題,可以進一步進行配置:系統環境變數
右擊我的電腦--電腦屬性--高階系統設定--環境變數。
NLS_LANG(沒有的話新建一個,有的話點選--編輯)。
將它的變數值改為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
然後點選--確定。
TNS_ADMIN:oracle根目錄\product\11.2.0\dbhome_1\NETWORK\ADMINoracle_sid:orcl
此時,仍然報錯--報ORA-12560:TNS:協議介面卡錯誤
注意:檢查檔案listener.ora和tnsnames.ora,需要改變的是客戶端裡的--即instantclient_11_2下的,但是不能改動Oracle裡的這2個檔案
Oracle裡的HOST=localhost,而32位客戶端下的檔案裡的HOST=XXXX(自己的主機名)
注意:版本要一致--即Oracle的版本與32位客戶端的版本要一致,我的是11.2.0.1.0版本
最後,重啟PLSQL。
若還有問題,則需檢查一下Oracle的安裝配置,如圖:
選擇Net Configuration
Assistant進行配置
可以對“監聽程式配置”、“命名方法配置”、“本地網路服務名配置”這3個選項都進行一番配置,這樣,應該能解決很多出錯的問題。