最近接手了一個項目,服務器端數據庫是oracle 11g 64位。由於主要工作不是開發,也不想在自己的電腦上安裝龐大的oracle數據庫,因此尋思著只通過數據庫管理工具連接數據庫進行一些常用的查詢操作。
服務器:windows server 2008 64位
服務器oracle版本:oracle 11g R2 64位,字符集是ZHS16GBK。
本機:windows 7 64位
1、Instant Client 12.1.0.2.0 32位和64位
Instant Client 是Oracle 公司推出的精簡版客戶端,官網下載地址。
最新版本是12.1.0.2.0,本文分別下載了32位和64位的Basic版本。Basic版本包含了運行 OCI、OCCI 和 JDBC-OCI 應用程序所需的所有文件。
至於為什麼會分別下載32位和64位的Basic版本的Instant Client,後面會詳細介紹。
2、Navicat Premium 11.1.10 64位
Navicat Premium 是一套數據庫管理工具,可以以單一程序同時連接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 數據庫,非常方便。
官方網址是:http://www.navicat.com.cn/products/navicat-premium。
由於本機是64位操作系統,因此下載最新的11.1.10 64位版本。
3、PL\SQL Developer 10.0.5.1710
PL/SQL Developer是一個集成開發環境,專門面向Oracle數據庫存儲程序單元的開發。PL/SQL Developer側重於易用性、代碼品質和生產力,充分發揮Oracle應用程序開發過程中的主要優勢。官方網站是http://www.allroundautomations.com/plsqldev.html,本文下載的版本是10.0.5.1710,官方還提供了簡體中文語言包。
給我的感覺是Navicat Premium更方便,同時數據庫;PL\SQL Developer更專業,oracle的開發管理更強大。因此選擇兩個軟件都安裝。
1、解壓Instant Client
將32位和64位的Instant Client分別解壓並重命名,本機解壓及重命名路徑如下:
32位:D:\Databases\Oracle\instantclient_12_1_x32
64位:D:\Databases\Oracle\instantclient_12_1_x64
2、配置Navicat Premium的OCI
其實Navicat Premium默認自帶了instantclient_10_2,但是其是base lite版本的(Basic Lite: Basic 的精簡版本,其中僅帶有英文錯誤消息和 Unicode、ASCII 以及西歐字符集支持),不支持中文字符集,而本文中的服務器端oracle恰好是中文字符集,instantclient_10_2不適合,因此需要下載base版本。
將Navicat Premium中的OCI library設置為D:\Databases\Oracle\instantclient_12_1_x64\oci.dll,然後重啟生效。
3、在Navicat Premium配置數據庫連接
Navicat Premium中oracle有兩種連接類型:Basic和TNS。
Basic
在 Basic 模式中,通過 Oracle Call Interface (OCI) 連接 Oracle。OCI 是一個應用程序界面,讓程序開發人員使用第三代語言原有進程或函數呼叫來訪問 Oracle 數據庫及控制全部 SQL 語句運行的階段。OCI 是一個標准數據庫訪問的庫和動態鏈接庫形式檢索函數。
Basic模式需要輸入主機名或IP地址、端口及服務名或SID。
TNS
在 TNS 模式中,需要使用在 tnsnames.ora 文件中的別名項目通過 Oracle Call Interface (OCI) 連接 Oracle 服務器。
TNS模式只需要選擇網絡服務名,但是之前需要新建tnsnames.ora,並配置數據庫服務。
推薦使用更簡潔Basic模式,可以省去復雜的tnsnames配置。本文采用的就是Basic模式。
在下圖“新建連接”界面,輸入連接名、連接類型、主機名或IP地址、端口、服務名或SID、用戶名及密碼,點擊確定即可連接數據庫。
4、配置PL\SQL Developer的OCI
“首選項-Oracle-連接”界面中,配置Oracle主目錄名和OCI庫。
Oracle主目錄名:D:\Databases\Oracle\instantclient_12_1_x32
OCI庫:D:\Databases\Oracle\instantclient_12_1_x32\oci.dll
5、在PL\SQL Developer配置數據庫連接
PL\SQL Developer中同樣可以用Basic和TNS連接模式來進行配置。
兩者的主要區別在於數據庫輸入項,Basic模式需要輸入“主機名或IP/服務名”格式的數據連接字符串,TNS模式則可以在下拉框中選擇配置好的數據庫。
跟Navicat一樣,推薦使用更簡潔Basic模式,同時設置PL\SQL Developer保留登錄歷史,會方便很多。
6、解決PL\SQL Developer查詢中文表出現問號亂碼問題
在PL\SQL Developer中,查詢包含中文字符的表,中文會變成一段段問號,主要原因是server與client的字符集不相同。
執行以下SQL語句查看服務器數據庫字符集:
SELECT * FROM v$nls_parameters
結果如下:
http://jingyan.baidu.com/article/a3aad71aa9bfefb1fa00964d.html