1. 程式人生 > >使用Navicat premium 連線oracle 資料庫配置

使用Navicat premium 連線oracle 資料庫配置

 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

    3.問題3:Cannot load OCI DLL,193

    

    這是由於Navicat的版本和Navicat Premium不一致造成的,因為Navicat Premium只支援32位的Instant Client,檢查一下你下載的的是不是32位的Instant Client。