好久沒接觸Oracle了,也很久沒用win系統(tǒng)了幽邓。最近換工作又用到牵舵,重裝了系統(tǒng)又要配置PLSQL倦挂,不過PLSQL的界面真的好丑担巩,實在是不想用涛癌,而且又不想安裝Oracle龐大的客戶端。網(wǎng)上找了一些不安裝Oracle客戶端配置PLSQL連接遠程數(shù)據(jù)庫的教程先匪,結(jié)合自己遇到的一些問題弃衍,整理一下吧镜盯。
系統(tǒng)環(huán)境
windows 7 64位 PLSQL 10.0 服務器數(shù)據(jù)庫 Oracle 10g
相關(guān)下載
- PLSQL下載:
https://www.allroundautomations.com/bodyplsqldevreg.html
因為服務器的數(shù)據(jù)庫是Oracle 10g形耗,所以我選擇了PL/SQL Developer 10.0.5
- Oracle Instant Client下載:
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
從10G開始,Oracle提供了一個較為輕量級的客戶包拟糕,叫做Instant Client。 將它安裝好后倦踢,就不用再安裝龐大的Oracle Client了(贊K椭汀)。但是注意雖然我是64位系統(tǒng)辱挥,但是沒有對應的64位PL/SQL Developer犁嗅,所以還是要選擇32位的Instant Client。然后根據(jù)數(shù)據(jù)庫的版本選擇對應的Basic版本(我的版本是10)就行了晤碘。
Instant Client 下載.jpg
開始配置
- 下載instantclient-basic包褂微,將包解壓存放到本地,我的是D:\instantclient_10_2(我重命名為D:\instantclient)园爷。
- 然后在instantclient目錄下新建兩層文件夾\NETWORK\ADMIN(貌似不用這么多層級目錄,只要后面的配置能找到ora文件就行)童社,再在ADMIN文件夾下面建一個tnsnames.ora文件求厕,然后向文件中添加如下內(nèi)容。其中就是四個中文的地方需要根據(jù)實際情況修改(端口號一般都是1521):
數(shù)據(jù)庫別名 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 數(shù)據(jù)庫IP)(PORT = 端口號))
)
(CONNECT_DATA =
(SERVICE_NAME = 要連接的數(shù)據(jù)庫名稱)
)
)
- 網(wǎng)上說需要在系統(tǒng)里配置環(huán)境變量如下:
注(來自原文): TNS_ADMIN:變量值即為instantclient在本地的主目錄,如果不配置該變量呀癣,連接時會報錯ORA-12154: TNS:could not resolve the connect identifier specified NLS_LANG:變量值是根據(jù)Oracle服務器內(nèi)部的字符集配置美浦,我直接設(shè)置的AMERICAN_AMERICA.AL32UTF8
變量名 | 變量 |
---|---|
TNS_ADMIN | D:\instantclient |
NLS_LANG | AMERICAN_AMERICA.AL32UTF8 |
實際上我測試刪除了TNS_ADMIN變量也沒問題。
NLS_LANG我就留著沒刪了项栏。
關(guān)于亂碼的問題請參考:
PLSQL亂碼
http://gang-chen.iteye.com/blog/2005546
-
安裝PL/SQL Developer浦辨,運行后出現(xiàn)的登錄窗體不能進行登錄,點擊Calcel按鈕忘嫉,這時會在無登錄狀態(tài)下進入荤牍。點擊工具欄Tools-->Preferences,配置Connection(連接)的Oracle Home(主目錄名:第一步的解壓包目錄)和OCI library(OCI庫)庆冕,我的是D:\instantclient康吵,oci.dll就在主目錄下面,我感覺只要路徑選擇正確访递,并不需要第三步的環(huán)境變量晦嵌,如下圖所示:
配置Oracle目錄和OCI路徑.jpg -
重新啟動PL/SQL,就可以直接選擇數(shù)據(jù)庫輸入密碼進行登錄了:
配置完成就可以下拉選擇數(shù)據(jù)庫了.jpg
問題匯總
- Q:PL/SQL Developer登陸失敗拷姿,不能初始化oci.dll惭载,你確定已經(jīng)安裝了32位Oracle Client嗎?錯誤如下(網(wǎng)上的圖响巢,不是我的目錄):
A:出現(xiàn)這個問題可能是因為我一開始選擇的Instant Client是11.2版本的(沒仔細選擇)描滔,而且是64位的。后來安裝了10.2 32位的就可以了踪古。
- Q:運行PL/SQL提示msvcr71.dll缺失含长。錯誤:The program can’t start because MSVCR71.dll is missing from your computer. Try reinstalling the program to fix this program.
A:我是直接用360解決了。
有個老外的博客里面說可以這樣:
- Download MSVCR71.dll from dll-files.com. (It is free.)
- Unzip…
- Place MSVCR71.dll into
C:\Windows\System32
orC:\Windows\SysWOW64
if you using a 64-bit Windows.
簡單來說就是下載然后解壓放到對應系統(tǒng)目錄里伏穆。我看了下拘泞,C:\Windows\SysWOW64目錄里確實有!
參考原文
不安裝oracle客戶端枕扫,用plsql連接oracle
http://gang-chen.iteye.com/blog/1990610
Win7(64Bit) 安裝 PL/SQL Developer圖解
http://blog.csdn.net/javaious/article/details/16918721
How to fix missing MSVCR71.dll problem in Windows
http://i.justrealized.com/2009/how-to-fix-missing-msvcr71dll-problem-in-windows/