本機不裝Oracle,使用plsql連線遠端Oracle的方法
由於Oracle的龐大,有時候我們需要在只安裝Oracle客戶端如plsql、toad等的情況下去連線遠端資料庫,可是沒有安裝Oracle就沒有一切的配置檔案去支援。 最後終於發現一個很有效的方法,Oracle的Instant client工具包可以很好地解決這個問題,而且小而方便。 1、首先到Oracle網站下載Instant Client :
解壓之後的資料夾叫:instantclient_11_2.可以放在本地磁碟任意目錄下.例如:D:/instantclient_11_2
2、在D:/instantclient_11_2目錄下新建目錄network,在network目錄下再建admin目錄,在admin目錄下新建檔案tnsnames.ora,開啟寫入如下內容:
ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.8.10 )(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl ) ) )
其中ORCL是遠端資料庫在本地的主機名,10.6.8.10是遠端伺服器的IP地址,orcl是遠端資料庫的名稱。
3、新增一個環境變數,名為TNS_ADMIN,值為tnsnames.ora檔案所在路徑。 通過(我的電腦–屬性–高階–環境變數–新建)來新增環境變數。
4、下載並安裝PL.SQL.Developer配置應用 配置tools->preferences->connection
Oracle Home D:/instantclient_11_2
OCI library D:/instantclient_11_2/oci.dll
配置完成後關閉PL/SQL ,再重啟.
主機名就會出現在PL/SQL Developer的列表裡,輸入使用者名稱密碼,就可以登入遠端oracle 資料庫。
當我們連線成功後有時候查詢出來的資料會出現亂碼的問題,這是因為本地的編碼和伺服器端編碼不一致,這時候我們可以通過SQL語句:
select userenv(‘language’) from dual;
查詢出伺服器端的編碼,如我自己的查詢結果為
USERENV(‘LANGUAGE’) AMERICAN_AMERICA.ZHS16GBK
我們就需要新增一個環境變數NLS_LANG ,值為: AMERICAN_AMERICA.ZHS16GBK 然後重啟PL/SQL就不會再有亂碼問題了。