標籤:oracle plsql developer oracle 11g
1、錯誤1:Initialization error could not initialize
電腦上原本就裝有oracle 11g 64位,可是PL/SQL卻怎麼也串連不上,報出“ Initialization error”的錯誤,搜集資料找到原因,原來PL/SQL是32位的,而oracle client是64位(當初安裝伺服器端內建的)的,二者不相容,當然無法串連。
解決方案:
(1)下載32位用戶端
下載免安裝版的32位oracle用戶端,地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html(根據已安裝的oracle伺服器版本下載對應的用戶端),我下載的是:instantclient-basic-win32-11.2.0.1.0.zip;
(2)解壓
解壓instantclient-basic-win32-11.2.0.1.0.zip,例如:D:\app\admin\product\11.2.0\instantclient_11_2;
(3)添加環境變數
環境變數 - 系統變數 - 建立:TNS_ADMIN = D:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN(用來設定到底使用哪個tns設定檔)、NLS_LANG = AMERICAN_AMERICA.UTF8(字元編碼);
(4)PL/SQL設定
工具 - 喜好設定:
oracle主目錄名:D:\app\admin\product\11.2.0\dbhome_1
OCI庫:D:\app\admin\product\11.2.0\instantclient_11_2\oci.dll
2、錯誤2:ORA - 12541:TNS:無監聽程式
開啟命令控制台,輸入命令:lsnrctl status 查看監聽器狀態;
沒有啟動監聽器,輸入命令:lsnrctl start,如果未能成功啟動,查看監聽器的設定檔listener.ora是否配置正確:
# listener.ora Network Configuration File: D:\app\admin\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
DIRECT_HANDOFF_TTC_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\app\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\admin\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = admin-PC)(PORT = 1522))
)
)
ADR_BASE_LISTENER = D:\app\admin
DEFAULT_SERVICE_LISTENER = (XE)
配置修改後,要重新啟動監聽器。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
解決PL/SQL Developer 串連oracle 11g 64位中的問題