問題說明:
本人在PC機上安裝了Oracle 11g R2版本的資料庫服務,通過PL/SQL串連資料庫時總是無法串連,下面具體說明下安裝環境。
PC作業系統: Window7 (64bit)
Oracle伺服器版本:Oracle 11g R2 ((安裝目錄:D:\oracle\)(64bit)
PL/SQL版本:PL SQL 10.0
在配置好oracle的tnsnames.ora檔案(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\),內容如下:
# tnsnames.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DAVID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = david)
)
)
並在Tools-->Preferences視窗中配置Oracle Home和Oracle library,如所示:
在PL/SQL的登陸介面卻無法檢測到oracle服務名DAVID,如:
在“Enter”鍵後,會彈出如下錯誤提示框,如:
問題分析
因為PLSQL沒有64位版,通過32bit的PLSQL串連64位的Oracle時就會報錯,需要一個32位的oracle用戶端工具instantclient進行轉換。
問題解決
1、下載oracle用戶端
下載instantclient-basic-win32-10.2.0.5.zip ,:http://www.oracle.com/technetwork/topics/winsoft-085727.html
2、安裝instantclient
解壓安裝包instantclient-basic-win32-10.2.0.5.zip,解壓目錄:D:\Program Files\destination files\oracleclient
然後建立一個目錄D:\Program Files\destination files\oracleclient\NETWORK\ADMIN
3、複製tnsnames.ora
將D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目錄下的tnsnames.ora檔案複製到D:\Program Files\destination files\oracleclient\NETWORK\ADMIN下
4、配置PLSQL
開啟 Tools-->Preferences視窗中配置Oracle Home和Oracle library,如:
Oracle Home:D:\Program Files\destination files\oracleclient
Oracle library:D:\Program Files\destination files\oracleclient\oci.dll
5、重啟PLSQL
重啟PLSQL,在Oracle登陸介面上將出現DAVID資料庫的服務名,如:
Oracle 10g 安裝後重啟系統,用PLSQL串連報沒有監聽
ORA-03114 PLSQL過程編譯中斷連線錯誤
PLSQL 串連 Oracle簡單配置
PLSQL批量Forall操作效能提升詳解
使用Oracle SQLDeveloper串連資料庫並建立使用者
Oracle內建的PL/SQL Developer匯入匯出資料
在64位Win7系統下安裝Oracle 11g和Oracle SQL Developer用戶端