Oracle 10g綠色客戶(hù)端 plus PL/SQL Developer-搭建方便的Oracle客戶(hù)端使用環(huán)境
整個(gè)一個(gè)暑假都在做基于Oracle的一個(gè)數據處理程序。但是一直沒(méi)有找到合適的人工訪(fǎng)問(wèn)實(shí)驗室的數據庫的方便的方法。
最酷的時(shí)候我的做法是自己寫(xiě)個(gè)程序用JDBC連接數據庫自己扒下想要的表格……
后來(lái)發(fā)現實(shí)驗室里邊有很多機器是裝過(guò)Oracle客戶(hù)端的,但是ms都是當時(shí)實(shí)驗室搭建數據庫時(shí)用正版的安裝光盤(pán)裝的,我對這樣臃腫的客戶(hù)端有一種生理上的恐懼,于是還是用原始的方法進(jìn)行自己的開(kāi)發(fā)。
直到有一天,看到Oracle的官方網(wǎng)站上邊有10g的綠色版的簡(jiǎn)易客戶(hù)端……
http://www.oracle.com/technology/tech/oci/instantclient/index.html
Oracle的官方網(wǎng)站下載軟件是要帳戶(hù)的,這個(gè)申請一個(gè)就是了,本人沒(méi)有網(wǎng)上的空間存放相關(guān)的軟件,即使有也沒(méi)有官網(wǎng)上的可靠和持久,所以就只給一個(gè)鏈接了。
http://www.allroundautomations.nl/plsqldev.html
PL/SQL Developer是一個(gè)開(kāi)發(fā)與數據庫相關(guān)工程的軟件,ms是Free的,不大了解,只不過(guò)看到很多開(kāi)發(fā)Oracle相關(guān)數據庫的人都在用,我一般只用來(lái) 當作與數據庫服務(wù)器交互用的Client界面……,最多的時(shí)候主要是開(kāi)一個(gè)窗口敲SQL語(yǔ)句,(殺雞用牛刀了……)
下邊是安裝的過(guò)程,由于是免安裝的,所以要自己配置一些環(huán)境變量和文件,比較麻煩……
首先將下載的Oracle客戶(hù)端的壓縮包解壓到一個(gè)路徑,在本機上解壓到了E:\OracleClient下邊,所以,實(shí)際上Oracle客戶(hù)端的路徑是E:\OracleClient\instantclient_10_2
然后進(jìn)入instantclient_10_2文件夾,新建一個(gè)network文件夾,并在network文件夾下新建admin文件夾,在admin文 件夾中新建名為tnsnames.ora文件,這個(gè)文件是用來(lái)配置連接遠程數據庫的登錄信息的(客戶(hù)端軟件都會(huì )從這個(gè)相對路徑下的文件中獲取連接數據庫的 信息),內容如下:
databasename =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = database name)
)
)
例如我鏈接實(shí)驗室數據庫的對應文件內容是:
TCM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TCM)
)
)
IP我就不寫(xiě)出來(lái)了,我所用的數據庫名為T(mén)CM,so……
然后安裝PL/SQL Developer,過(guò)程是傻瓜式的。進(jìn)入PL/SQL后(開(kāi)始進(jìn)入時(shí)會(huì )要求登錄數據庫,但是現在PL/SQL現在還找不到你的Oracle客戶(hù)端,所以 登錄是不會(huì )成功的,但是可以進(jìn)入軟件),選擇Tools->Preferences,在Oracle Home OCI Library兩欄中分別填入Oracle客戶(hù)端的路徑和OCI文件的路徑(oci.dll文件直接在instantclient_10_2文件夾下), 所以我在這兩個(gè)選項中填寫(xiě)的內容是“E:\OracleClient\instantclient_10_2”和“E:\OracleClient \instantclient_10_2\oci.dll”。這時(shí)再登錄就可以登錄成功了。如若還不行就重啟一下PL/SQL。
綠色版的客戶(hù)端可能會(huì )出現對于中文支持的問(wèn)題,這主要是因為服務(wù)器端指定的字符集和客戶(hù)端所默認的字符集是不相同的導致的,只要找到服務(wù)器端的字符 集設置,然后將客戶(hù)端的字符集設置與服務(wù)器端保持一致就好了。修改客戶(hù)端字符集設置的方法有好幾種,可以修改注冊表,也可以用環(huán)境變量的方法解決。不過(guò)我 這里介紹的客戶(hù)端是綠色版的,只是解壓到某一個(gè)路徑而已,所以注冊表的方法在這里不是很適用,所以我寫(xiě)了一個(gè)啟動(dòng)腳本,在啟動(dòng)PL/SQL之前,先建一個(gè) 臨時(shí)環(huán)境變量nls_lang,并給變量賦值,再啟動(dòng)軟件。(我曾經(jīng)做過(guò)實(shí)驗,通過(guò)建立系統環(huán)境變量的方法在這里是行不通的,具體的原因我說(shuō)不清 楚><)
我的腳本plsql.bat的內容如下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
cd "c:\Program Files\PLSQL Developer"
PLSQLDev.exe
其中第二行進(jìn)入的路徑是PL/SQL Developer安裝到的路徑。
我這里的實(shí)際情況是服務(wù)器端的字符集設置為SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以我將這個(gè)值賦給nls_lang。通過(guò)運行plsql.bat腳本就可以正常的訪(fǎng)問(wèn)服務(wù)器數據庫了。