免安裝Oracle客戶端使用PL/SQL鏈接Oracle的2種方法html
做者:netshuai 來源:博客園 發佈時間:2009-10-23 09:19 閱讀:171 次 原文連接 [收藏]sql
方法一:服務器
你們都知道,用PL/SQL鏈接Oracle,是須要安裝Oracle客戶端軟件的。有沒要想過不安裝Oracle客戶端直接鏈接Oracle呢?oracle
其實我一直想這樣作,由於這個客戶端實在太讓人討厭了!!!不但會安裝一個JDK,並且還會把本身放在環境變量的最前面,會形成不小的麻煩。tcp
其實我以前問過不少人的,可是他們都說必定須要安裝Oracle客戶端的.......直到昨天無心中發現瞭如下這個方法:測試
只須要在Oracle下載一個叫Instant Client Package的軟件就能夠了,這個軟件不須要安裝,只要解壓就能夠用了,很方便,就算重裝了系統仍是能夠用的。操作系統
下載地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.htmlhtm
下載這個,Instant Client Package - Basic包。而後解壓到任意目錄,在這個目錄下創建NETWORK文件夾,接着再這個文件夾下再創建ADMIN文件夾,而後創建tnsnames.ora文件,內容以下:ip
oracledata =ci
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yourhostIp )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = yourSID )
)
)
這裏根據本身的實際狀況配置。接着打開PL/SQL,在perference裏面設置OCI Library和Oracle_home,個人設置是OCI Library=c:\oracleclient\oci.dll,Oracle_home=c:\oracleclient。
根據本身的實際狀況配置,其實就是剛纔下載下來的那個包的路徑。還有最後一個問題,須要設置一個字符集,這樣查詢出來的數據纔不會是亂碼,寫一個批處理pldev. bat放到pl安裝目錄下,內容以下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
PLSQLDev.exe
這個字符集,指的是服務器端的字符集,請根據實際狀況配置。
最後,只要雙擊這個批處理,再填寫賬號和密碼就能夠了
方法二:
前幾天發了免安裝Oracle客戶端使用PL/SQL鏈接Oracle一文,巴士飛揚和我說,他早就用了另一個更好用的綠色版本Oracle客戶端,並且不須要太複雜的配置。
我比較了一下,個人文章中的方法,客戶端比較大,30M左右。設置比較複雜,不過應該比較穩定。巴士飛揚所提供的包是一個3M多一點的,解壓開來10M,應該是某位高人作的。
綠色版Oracle客戶端下載(由巴士飛揚友情提供):Oracle客戶端
你們也說說哪一個好用吧!!!
使用特別注意:
使用的時候,只要複製到任意目錄就能夠了,不過默認的目錄是:「C:\\ora90」。
若是須要更改默認設置,須要修改文件「Oracle9i.reg」裏的默認「oracle_home」
把相關的路徑都改成「實際」的oracle路徑就能夠了。
這種綠色安裝方式還適合在操做系統重新安裝的時候,若是你的oracle安裝在非系統盤下,就可使用廢棄的安裝目錄,使用修改過的「Oracle9i.reg」註冊就能夠了。很是方便。本人已經嘗試成功了。
這 里根據本身的實際狀況配置。接着打開PL/SQL,在perference裏面設置OCI Library和Oracle_home,個人設置是OCI Library=c:\oracleclient\oci.dll,Oracle_home=c:\oracleclient。
根據本身的實際狀況配置,c:\oracleclient其實就是剛纔下載下來的那個包的路徑。
配置工做基本完成,再作一個bat 批處理來解決字符集亂碼的問題:
寫一個批處理plsql. bat放到plsqldeveloper安裝目錄下,內容以下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
PLSQLDev.exe
這個字符集,指的是服務器端的字符集.
—-
常設的字符集:
set nls_lang=simplified chinese_china.zhs16cgb231280
set nls_lang=simplified chinese_china.ZHS16GBK
set nls_lang=simplified chinese_china.Utf8
備註:
instantclient-basic-win32-11.1.0.6.0.zip -這個是支持Oracle 9i 以上的版(不包括Oracle9i)
instantclient-basic-win32-10.2.0.1.zip -這個是支持Oracle8i 和Oracle9i 的。
一、打開cmd輸入netca。
二、選擇【本地net服務名配置】→下一步。
三、選擇【添加】→下一步。
四、在【服務名】中輸入你想要鏈接的服務器上的oracle服務的名字→下一步。
五、選擇【tcp】→下一步。
六、在【主機名】中輸入你想要鏈接的服務器ip,端口號不變→下一步。
七、選擇【進行測試】→下一步。(固然你也能夠選擇不測試)
※1測試若是不經過,點擊【更改登陸】輸入一個確定能登入的【用戶名】和【口令】→肯定,出現【正在鏈接...測試成功。】代表測試成功。
※2測試不經過的話,點【上一步】確認你寫的【服務名】和【主機名】,確認無誤的狀況下,確認你要鏈接的服務器oracle監聽服務已經打開。
八、在【net服務名中】輸入你想要使用的本地的服務名→下一步。
※就是【sqlplus user/passwd @本地服務名】。
九、選擇【否】→下一步。
十、出現【net服務配置完畢】字樣→下一步。
十一、點擊【完成】完成服務配置。
十二、在上面服務配置完成之後,在cmd中輸入以下命令便可遠程登陸oracle服務器:
sqlplus user_name/password@本地服務名
必定記住,上面的本地服務名是你第8步寫的服務名。