用PL/SQL遠程連接Oracle服務器


背景:本地未安裝oracle數據庫服務器,希望遠程連接Oracle服務器

測試環境:win7 64位系統

1.下載精簡客戶端

下載64位windows的instantclient-basic包,地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html,32位的需下載32位的客戶端,將包解壓存放到本地,我本機主目錄是D:\software_dev\plsql\OracleClientPackage\instantclient_11_2

 

2.創建數據庫連接的配置文件

在客戶端主目錄下新建sqlnet.ora和tnsnames.ora兩個文件
sqlnet.ora文件寫入:

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

 

tnsnames.ora文件寫入:

#可配置多個本地實例。格式:
#本地實例名 =
#  (DESCRIPTION =
#    (ADDRESS = (PROTOCOL = TCP)(HOST = 遠程數據庫IP地址)(PORT = 遠程服務器端口號))
#    (CONNECT_DATA =
#      (SERVER = DEDICATED)
#      (SERVICE_NAME = 遠程數據庫服務名)
#    )
#  )

KOBRA_DEV_VPN=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.109)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = comstar)
    )
  )

KOBRA_DEV_VPN_2=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.139)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = kobra)
    )
  ) 

PS:不要出現本地實例名前面多空格,或者其他地方少寫括號。否則連接時會報錯:ORA-12154: TNS:could not resolve the connect identifier specified

 

3. 配置windows的環境變量

變量名:TNS_ADMIN  變量值:D:\software_dev\plsql\OracleClientPackage\instantclient_11_2

---->截圖來自win10

 

PS:這里變量值即為instantclient在本地的主目錄。如果不配置該變量,連接時會報錯:ORA-12154: TNS:could not resolve the connect identifier specified

 

4.安裝並配置PL/SQL Developer

(1)下載安裝PL/SQL Developer工具

(2)配置oracle的連接參數:打開PL/SQL,打開工具-->首選項-->連接,配置Oralce主目錄和OCI庫

主目錄:D:\software_dev\plsql\OracleClientPackage\instantclient_11_2
OCI庫:D:\software_dev\plsql\OracleClientPackage\instantclient_11_2\oci.dll

 

5.重新啟動PL/SQL Developer

填寫用戶名、密碼、選擇數據庫,確定連接

 

還可以用這種寫法進行測試:

 

 

5.解決亂碼問題

解決亂碼問題需要關注的三點:
(1)Oracle數據庫內部的字符集
(2)Oracle客戶端應用所在環境的字符集
(3)Oracle數據庫所在服務器的系統中NLS_LANG變量里保存的字符集(最好與前兩點保持一致)

解決方法:

步驟一:查詢Oracle數據庫所在服務器的系統中NLS_LANG變量里保存的字符集

方式一:

select * from v$nls_parameters;

查詢結果如下:

 

方式二:

select userenv('language') from dual;

查詢結果如下:

 

上述方式都可查得:方式當前oracle服務器內部的字符集為 AMERICAN_AMERICA.AL32UTF8

 

步驟二:配置環境變量

配置oracle客戶端所在環境的字符集,使其與oracle服務器內部字符集配置保持一致:

變量名:NLS_LANG  變量值:AMERICAN_AMERICA.AL32UTF8

 

步驟三:重啟PL/SQL,進行測試

 

參考文章:

http://www.cnblogs.com/zhwl/p/3727565.html 不安裝oracle客戶端,用plsql連接oracle

http://gang-chen.iteye.com/blog/2005546 PLSQL亂碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM