news 2026/6/14 11:56:34

DM8使用ODBC和OCI接口连接Oracle

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DM8使用ODBC和OCI接口连接Oracle
  • 环境介绍

IP地址:端口

192.168.116.143:5236

192.168.116.149:1521

操作系统

Kylin-Server-V10-SP3-2403-Release-20240426-X86_64

CentOS-7-x86_64-DVD-2009

数据库

dm8_20251021_x86_kylin10_sp3_64

oracle11g

Oracle Instant Client包版本:12.2

Oracle Instant Client包下载地址:Oracle Instant Client Downloads

  • ODBC

执行odbcinst -j查看unixODBC的版本

2.1下载驱动

下载上传并解压得到如下:

2.2配置依赖

cd instantclient_12_2进入目录

ldd libsqora.so.12.1检查依赖

查找缺失驱动,放置/usr/lib64目录下

find / -namelibmql1.so

cp ./libmql1.so /usr/lib64

若仍缺少驱动,通过yum进行下载安装后继续连接

注:重点为红框内驱动

2.3配置ODBC源

2.3.1创建tnsnames.ora文件

tnsnames.ora文件可参考oracle数据库所在服务中的tnsnames.ora文件。

tnsnames.ora文件在与驱动在同一目录下,便于下文参数的设置。

2.3.2 配置$ORACLE_HOME、$TNS_ADMIN和$LD_LIBRARY_PATH

配置TNS_ADMIN系统环境变量

vim /etc/profile

文件最后加上以下语句:

export ORACLE_HOME=/oracleclient/instantclient_12_2/

exportLD_LIBRARY_PATH=/oracleclient/instantclient_12_2/

export TNS_ADMIN=/usr/lib/oracle/12.2/client64

执行source /etc/profile使配置生效。

2.3.3配置odbcinst.ini文件

2.3.4配置odbc.ini文件

2.4验证配置

isql ORA11G SCOTT oracle

重启达梦数据库,加载dm通过dblink查询oracle数据库数据所需的文件。

2.5 创建DBLINK

在DM管理工具或disql中执行以下语句

CREATE OR REPLACE LINK LINKORA1CONNECT 'ODBC' WITH "Oracle用户" IDENTIFIED BY "Oracle用户密码" USING 'DSN名字';

select count(*) from USER_TABLES@LINKORA1;

结果示例如下。

  • OCI

3.1 下载Oracle客户端驱动(Instant Client)

下载上传并解压得到如下:

3.2配置依赖

cd instantclient_12_2进入目录

ldd libclntsh.so.12.1检查依赖

查找缺失驱动,放置/usr/lib64目录下

find / -namelibmql1.so

cp ./libmql1.so /usr/lib64

若仍缺少驱动,通过yum进行下载安装后继续连接

复制所有.so文件到DM安装目录的bin目录下

cp ./instantclient_12_2/*.so* /home/dmdba/dmdbms/bin

给libclntsh.so.12.1文件改名成libclntsh.so

mv /home/dmdba/dmdbms/bin/libclntsh.so.12.1 /home/dmdba/dmdbms/bin/libclntsh.so

重启达梦数据库,加载dm通过dblink查询oracle数据库数据所需的文件。

3.3配置$ORACLE_HOME

vim /etc/profile进入环境变量文件

export ORACLE_HOME=/oracleclient/instantclient_12_2/

source /etc/profile使环境变量生效

3.4创建DBLINK

在DM管理工具或disql中执行以下语句

CREATE OR REPLACE LINK LINKORA CONNECT 'ORACLE' WITH "Oracle用户" IDENTIFIED BY "Oracle用户密码" USING 'Oracle服务器ip地址:1521/Oracle服务名';

select * from ALL_DB_LINKS;

结果如下。

select count(*) from USER_TABLES@LINKORA;

结果示例如下。

  • 总结

推荐使用OCI接口来创建DBLINK连接ORACLE,相对来说,使用OCI接口来创建DBLINK连接ORACLE更加简单,步骤更少,而且可以避免由于版本不匹配导致的连接失败问题。

使用ODBC接口创建DBLINK对比使用OCI接口,多了ODBC配置文件的创建、tnsname.ora文件的创建及TNS_NAME参数和LD_LIBRARY_PATH参数的设置,步骤多了,出错的几率就更高了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 17:53:15

AI在线设计中的Prompt技巧:如何让输出更精准

AI在线设计的核心是“模式匹配”——模型通过训练数据学习设计规律,再根据用户Prompt输出符合规律的结果。如果Prompt模糊,模型会基于最常见的规律生成“平均化”作品;如果Prompt精准,模型能定位到更具体的训练数据,输…

作者头像 李华
网站建设 2026/6/10 16:16:14

Vue3 响应式体系核心总结

Vue3 响应式体系核心总结 Vue3 响应式是覆盖「组件内部 - 跨组件 - 全局」的完整数据管理体系,围绕 “灵活创建 痛点解决 场景扩展” 设计,核心可拆解为以下五大模块: 一、底层原理:双引擎驱动 统一流程 1. 双引擎实现&#xf…

作者头像 李华
网站建设 2026/6/8 0:05:53

影视配音创意玩法:替换演员台词为任意风格语音

影像声音重塑:用AI实现角色语音自由替换 在一部经典电影的修复项目中,制作团队面临一个棘手问题:原主演已多年未公开露面,但剧情需要补录几句关键台词。传统做法是寻找声线相近的配音演员反复试音,耗时数周仍难达理想效…

作者头像 李华
网站建设 2026/6/9 23:49:51

Pspice安装教程:通俗解释防火墙与安全策略设置影响

Pspice安装踩坑实录:为什么你的仿真总卡在“许可证连接失败”?你是不是也经历过这样的场景?下载好OrCAD Capture和Pspice安装包,一路“下一步”点到底,结果一打开仿真功能,弹出一句冰冷的提示:“…

作者头像 李华
网站建设 2026/6/13 22:23:05

UVC协议驱动开发中的描述符解析详解

UVC协议驱动开发中的描述符解析实战指南 你有没有遇到过这样的情况:一个摄像头插上电脑后,系统识别了设备,但图像花屏、控制无效,甚至直接崩溃?或者在多摄像头系统中,设备互相干扰,无法正常工作…

作者头像 李华
网站建设 2026/6/13 6:49:29

QSPI时钟极性与相位原理:快速理解CPOL和CPHA

QSPI时钟极性与相位:从波形看懂CPOL和CPHA的本质你有没有遇到过这样的情况?明明接线正确、电源正常,逻辑分析仪也连上了,可QSPI就是读不出Flash的ID——返回全是0xFF或0x00。重启十次,失败十次。这时候,别急…

作者头像 李华