Linux 配置ODBC連接Oracle


在使用kdb_database_link 擴展插件連接Oracle數據庫時,必須先配置ODBC,確保通過ODBC能連接Oracle數據庫。以下是配置ODBC的過程。

一、安裝ODBC

1、安裝

[root@dbhost03 etc]# yum install unixODBC.x86_64

[kingbase@dbhost03 kbdata]$ isql --version
unixODBC 2.3.1

[kingbase@dbhost03 kbdata]$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /home/kingbase/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

注意:如果設置了LD_LIBRARY_PATH環境變量,則實際生效的是/usr/local/etc/odbcinst.ini ,否則可能是 /etc/odbcinst.ini

2、配置

根據odbcinst -j 顯示的路徑,配置 odbcinst.ini 和 odbc.ini 文件。

odbcinst.ini 文件內容如下:Driver 根據 下文配置的Oracle ODBC實際路徑填寫。

[Oracle ODBC Driver]
Description     = ODBC for Oracle
Driver          = /opt/Kingbase/ES/V8/Server/lib/libsqora.so.19.1

odbc.ini 文件內容如下:

[test_orcl]
Description=Oracle
Driver=Oracle ODBC Driver
ServerName=test_ora
UserID=USER01
Password=user01

二、配置用戶的Oracle環境

  1. 下載 oracle_instantclient 和 instantclient-odbc 。KingbaseES 官方提供的 Oracel_fdw 一般自帶了 oracle_instantclient,但不包含instantclient-odbc ,用戶如果安裝了oracle_fdw插件,只需下載 instantclient-odbc 就行。一般instantclient-odbc 有rpm 和zip兩種格式,這里下載zip格式。
  2. 安裝 ODBC 驅動:將 zip 文件解壓,提取  libsqora.so 文件,放在 與 oracle_instantclient  相同目錄,我的環境是/opt/Kingbase/ES/V8/Server/lib。  這是因為libsqora.so 需要用到oracle_instantclient  相關的庫文件。
  3. 驗證ODBC 驅動庫文件是否完整:ldd /opt/Kingbase/ES/V8/Server/lib/libsqora.so.19.1 ,確保沒有 NOT FOUND的信息
  4. 配置用戶環境變量:ORACLE_HOME 和 TNS_ADMIN,ORACLE_HOME指向oracle_instantclient目錄ORACLE_HOME=/opt/Kingbase/ES/V8/Server/lib,TNS_ADMIN 指向 tnsnames.ora 文件的存放位置,根據你的實際配置。
  5. 新建或修改 tnsnames.ora 文件,增加個tns 條目。類似如下:
  6. test_ora =
     (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS =(PROTOCOL = TCP)(Host = 192.168.237.41)(Port = 1521))
      )
      (CONNECT_DATA =(SID = SOGG))
     )

三、驗證連接

[kingbase@dbhost03 ~]$ isql -v orcl
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

確認連接正常。 


免責聲明!

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



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