在使用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 |
| |
+---------------------------------------+

确认连接正常。

Linux 配置ODBC连接Oracle的更多相关文章

  1. 采用ODAC,ODBC连接Oracle【转】

    采用ODAC,ODBC连接Oracle 在没有装oracle的环境中,偶尔会需要访问数据库(Word文档查看数据,开发项目运行等等),简单介绍我用过的方案. 一:ODAC 1.介绍.ODAC,全称:o ...

  2. 解决ODBC连接Oracle数据库报Unable to connect SQLState=08004问题

    今天用ODBC连接Oracle数据库时,报了这么一个错“Unable to connect SQLState=08004 Oracle ODBC Ora-12154”,上网查了好久都说PowerDes ...

  3. springMVC 配置jdbcTemplate连接Oracle数据库出错

    springMVC 配置jdbcTemplate连接Oracle数据库出错 错误信息: log4j:WARN No appenders could be found for logger (org.s ...

  4. [转]ODBC连接ORACLE数据库的设置

    本文转自:http://www.cppblog.com/edog/articles/1420.html 首先安装Oracle,以Oracle 817为例,作为ODBC开发者的客户端,才能使用Oracl ...

  5. Asp.Net通过ODBC连接Oracle数据库

    本来有个项目是通过安装Oracle client然后让asp.net引用System.Data.OracleClient来访问Oracle数据库的,但是不知道为什么老是报:ORA-12170:连接超时 ...

  6. NodeJs学习记录(二)win7下 配置node连接oracle的环境

    2017/01/23 星期一 前言:还没看几眼教程,就开始分配任务,涉及到连oracle数据库,所以顺便把整个环境的配置放上来 安装文件清单(1).node-v6.9.1-x64.msi(2).pyt ...

  7. 用odbc连接oracle问题

    如果用11g的客户端,然后通过odbc(远程连接)连接10g的oracle,会出现监听程序无法启动(ORA-12541: TNS: 无监听程序) 此时需要在客户端目录中D:\instantclient ...

  8. LINUX怎么远程连接ORACLE数据库

    A电脑装了ORACLE客户端,B是ORACLE服务器,都在LINUX环境下,请问A电脑怎么访问B上的数据库?该怎么改配置?求高手解答,越详细越好 很简单,你在A电脑安装一个ORACLE 客户端,然后, ...

  9. linux 配置 wlan 连接

    第一步,先确定你已经安装了无线网卡驱动.我的是 ath9k ,linux 内核不自带,现编译成模块 然后安装上.具体步骤请自行搜索 linux 编译内核 第二步,起用模块 modprobe ath9k ...

随机推荐

  1. SAP APO-主数据设置

    可以在SAP APO的相关组件中创建主数据,也可以将其从SAP R / 3传输到SAP APO. 可以使用核心接口(CIF)将其传输到SAP APO模块. 在主数据集成模型中,您定义将主数据传输到SA ...

  2. Spring jdbctemplate和事务管理器 全注解配置 不使用xml

    /** * spring的配置类,相当于bean.xml */@Configuration//@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans ...

  3. UiPath程序设计文档

    1. [RPA之家]添加数据列UiPath.Core.Activities.AddDataColumn 链接: https://pan.baidu.com/s/1RRMw4voqJru-fJSoC3W ...

  4. jfinal中如何使用过滤器监控Druid监听SQL执行?

    摘要:最开始我想做的是通过拦截器拦截SQL执行,但是经过测试发现,过滤器至少可以监听每一个SQL的执行与返回结果.因此,将这一次探索过程记录下来. 本文分享自华为云社区<jfinal中使用过滤器 ...

  5. css-sticky 定位

    前言 我们大多都了解绝对定位.相对定位.static 和 fixed 定位,而 sticky 定位常常会被忽略,本文来总结一下其相关使用方法. 正文 1.常见使用效果 我们滚动滚动条时,当 " ...

  6. NC16618 [NOIP2008]排座椅

    NC16618 [NOIP2008]排座椅 题目 题目描述 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下 ...

  7. do-while循环和三种循环的区别

    循环语句3--do...while do...while循环格式 初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②); 执行流程 执行顺序:①③④>②③④>②③④ ...

  8. wcf连接数据库用sqlhelper,连接数一直没有释放反而增加

    找了一天,发现原因是配置的连接字符串没有加上最大连接数,所以每次请求都是一直增加,而MariaDB默认的连接数是151,为了本地多项目测试已改成以前. 下面是配置的连接字符串:  <add na ...

  9. 聊聊 C++ 中的几种智能指针 (上)

    一:背景 我们知道 C++ 是手工管理内存的分配和释放,对应的操作符就是 new/delete 和 new[] / delete[], 这给了程序员极大的自由度也给了我们极高的门槛,弄不好就得内存泄露 ...

  10. C语言课堂--现代编译环境搭建[2020年7月]

    看过了很多专家吐槽目前的大学c语言教学问题多多: 教材难懂,消磨了学生的兴趣: 环境老旧,都2020了还有在用VC6甚至TurboC 2.0,语法不规范. 轮到自己上课,心想可不能再继续这样的c语言课 ...