1. 程式人生 > >windows7 下安裝64位oracle11g用PL/SQL Developer連線報錯問題

windows7 下安裝64位oracle11g用PL/SQL Developer連線報錯問題

由於在本機Win7X64上安裝了64位的Oracle,結果試圖使用PLSQL Developer去訪問它的時候,報告說無法載入oci.dll檔案。在網上搜索了半天,原來主要原因是oci.dll是64位的,而PL/SQL developer只有32位的,在使用64位oci.dll檔案時出錯.。
錯誤如圖所示:
這裡寫圖片描述
1)安裝Oracle 11g 64位

2)安裝32位的Oracle客戶端( instantclient-basic-nt-11.2.0.2.0)

下載instantclient-basic-nt-11.2.0.2.0.zip (一定得是32位的,不要下錯了版本,Oracle官網有下載),將其解壓至Oracle安裝目錄的Product下(裡面預設的資料夾名為:instantclient_11_2):D:\app\Administrator\product\instantclient_11_2。

拷貝資料庫安裝根目錄下的一個目錄D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK到Oracle客戶端目錄下D:\app\Administrator\product\instantclient_11_2(其實只需要 NETWORK\ADMIN\tnsnames.ora)

3)安裝PL/SQL Developer

安裝 PL/SQL Developer,在perference->Connection裡面設定OCI Library和Oracle_Home,例如本機設定為:

Oracle Home :D:\app\Administrator\product\instantclient_11_2

OCI Library :D:\app\Administrator\product\instantclient_11_2\oci.dll

接下來這步可選。

4) 設定環境變數(修改PATH和TNS_ADMIN環境變數)

對於NLS_LANG環境變數, 最好設定成和資料庫端一致, 首先從資料庫端查詢字符集資訊:
SQL> select userenv(‘language’) nls_lang from dual;
NLS_LANG

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右擊”我的電腦” - “屬性” - “高階” - “環境變數” - “系統環境變數”:
1>.選擇”Path” - 點選”編輯”, 把 “D:\app\Administrator\product\instantclient_11_2;” 加入;
2>.點選”新建”, 變數名設定為”TNS_ADMIN”, 變數值設定為”D:\app\Administrator\product\instantclient_11_2;”, 點選”確定”;
3>.點選”新建”, 變數名設定為”NLS_LANG”, 變數值設定為”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”, 點選”確定”;
最後點選”確定”退出.

啟動 PL/SQL Developer ,執行無問題。

這裡寫圖片描述

這裡寫圖片描述
最後要設定啟動PL/SQL developer的環境,在PL/SQL developer的安裝目錄下建立一個bat檔案,檔案內容如下:
最後一步可以寫成如下指令碼:
conf.bat:


@echo off
set path=D:\app\Administrator\product\instantclient_11_2
set ORACLE_HOME=D:\app\Administrator\product\instantclient_11_2
set TNS_ADMIN=D:\app\Administrator\product\instantclient_11_2
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

start plsqldev.exe 

其中NLS_LANG前部分必須是AMERICAN_AMERICA,後部分是資料庫採用的字符集.
這裡寫圖片描述