Navicat premium是一款資料庫管理工具,是一個可多重連線資料庫的管理工具,它可以讓你以單一程序同時連線到MySQL、SQLite、Oracle及PostgreSQL 資料庫,讓管理不同類型的資料庫更加的方便。
一、需要準備的軟體
#1.Navicat premium 32位元
#官方下載網址:http://www.navicat.com.cn/products/navicat-premium
2.Instant Client12.1.0.2.0 32位
Instant Client 是Oracle 公司推出的精簡版客戶端。
32位元下載位址:http://www.oracle.com/technetwork/topics/winsoft-085727.html
注意:不管你的Navicat是32位的還是64位的,你的Instant Client都要下載32位的,因為Navicat只支援32位的客戶端。
二、安裝設定
1.解壓縮Instant Client到
F:\gome\instantclient_12_1
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設定為F:/gome/instantclient_12_1/oci.dll,然後重新啟動生效。
#三、連接Oracle
1.開啟Navicat Premium,點選連線選擇Oracle
#2.填寫連線資訊
#Navicat Premium中oracle有兩種連接類型:Basic和TNS。
在 Basic 模式中,透過 Oracle Call Interface (OCI) 連接 Oracle。 OCI 是一個應用程式介面,讓程式開發人員使用第三代語言原有程序或函數呼叫來存取 Oracle 資料庫及控制全部 SQL 語句運行的階段。 OCI 是一個標準資料庫存取的函式庫和動態連結函式庫形式檢索函數。 Basic模式需要輸入主機名稱或IP位址、連接埠及服務名稱或SID。
在 TNS 模式中,需要使用在 tnsnames.ora 檔案中的別名項目透過 Oracle Call Interface (OCI) 連接 Oracle 伺服器。 TNS模式只需要選擇網路服務名,但之前需要新建tnsnames.ora,並設定資料庫服務。
建議使用更簡潔Basic模式,可以省去複雜的tnsnames配置。本文採用的就是Basic模式。
在下圖「新連線」介面,輸入連線名稱、連線類型、主機名稱或IP位址、連接埠、服務名稱或SID、使用者名稱及密碼,點選確定即可連接資料庫。
點擊連線測試,提示測試成功,證明連線成功!
三、問題總結
在上面介紹的是連結的順利的情況下的連線步驟,在連線的過程中也遇到一些問題,以下就把這些問題總結一下:
1.問題1:ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK
此問題是直接使用Navicat自帶的instantclient_10_2造成的。自帶的採用的是Basic Lite版本的instantclient。
Basic Lite:Basic的精簡版本,其中僅帶有英文錯誤訊息和Unicode、ASCII以及西歐字元集支援
Basic:運行OCI、OCCI和JDBC -OCI 應用程式所需的所有文件,包含中文字元集。解決方法就是換個Basic版本的instantclient。
2.問題2:only compatible with oci vers and higherion 8.1 and higher
與本地oracle連接的時候,一般沒問題, sqlplus和oci都是本機oracle自備的,(設定: 工具->選項->oci)分別為:
oci:D:\app\pcman\product\11.2.0\dbhome_1\ BIN\oci.dll
Sqlplus: D:\app\pcman\product\11.2.0\dbhome_1\BIN\sqlplus.exe。
如果是與遠端伺服器連線就要確保本地和遠端的oracle版本一致,是11g的都要用11g,以防止sqlplus和oci不匹配而出問題,另外,navicat好像只能用32位元的oci ,可以從這裡下(http://www.oracle.com/technetwork/topics/winsoft-085727.html。)
3.問題3:Cannot load OCI DLL,193
這是由於Navicat的版本和Navicat Premium不一致造成的,因為Navicat Premium只支援32位元的Instant Client,檢查你下載的是不是32位元的Instant Client。
推薦教學:《Oracle教學》
以上是Navicat 連接 Oracle 資料庫(圖文教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!