標籤:
由於Oracle的龐大,有時候我們需要在只安裝Oracle用戶端如plsql、toad等的情況下去串連遠端資料庫,可是沒有安裝Oracle就沒有一切的設定檔去支援。最後終於發現一個很有效方法,Oracle的Instantclient工具包可以很好地解決這個問題,而且小而方便。
1、首先到Oracle網站下載Instant Client :
http://www.oracle.com/us/solutions/index-097480.html
解壓之後的檔案夾叫: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就不會再有亂碼問題了。
本地不安裝Oracle,plsql遠端連線資料庫