Linux 配置ODBC連線Oracle
阿新 • • 發佈:2021-06-23
在使用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環境
- 下載 oracle_instantclient 和 instantclient-odbc 。KINGBASE 官方提供的 Oracel_fdw 一般自帶了 oracle_instantclient,但不包含instantclient-odbc ,使用者只需下載 instantclient-odbc 就行。一般instantclient-odbc 有rpm 和zip兩種格式,這裡下載zip格式。
- 安裝 ODBC 驅動:將 zip 檔案解壓,提取 libsqora.so 檔案,放在 與 oracle_instantclient 相同目錄,我的環境是/opt/Kingbase/ES/V8/Server/lib。 這是因為libsqora.so 需要用到oracle_instantclient 相關的庫檔案。
- 驗證ODBC 驅動庫檔案是否完整:ldd /opt/Kingbase/ES/V8/Server/lib/libsqora.so.19.1 ,確保沒有 NOT FOUND的資訊
- 配置使用者環境變數:ORACLE_HOME 和 TNS_ADMIN,ORACLE_HOME指向oracle_instantclient目錄ORACLE_HOME=/opt/Kingbase/ES/V8/Server/lib,TNS_ADMIN 指向 tnsnames.ora 檔案的存放位置,根據你的實際配置。
- 新建或修改 tnsnames.ora 檔案,增加個tns 條目。類似如下:
-
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 | | | +---------------------------------------+
確認連線正常。