注册
DM数据库 ODBC与DBLINK
专栏/技术分享/ 文章详情 /

DM数据库 ODBC与DBLINK

DM_394095 2026/09/18 236 0 0
摘要

一、前言

什么是 ODBC?ODBC(Open Database Connectivity,开放数据库连接)是微软主导制定的、跨语言/跨数据库的通用标准接口,本质是一个中间抽象层,它的核心思想是:应用程序不再直接调用某个数据库的私有 API,而是调用统一的 ODBC API。

对于开发者来说,他们不再需要以特殊的数据库管理系统 DBMS 为目标,或者了解不同支撑背景的数据库的详细细节,就能够开发和发布客户/服务器应用程序。

DM ODBC 3.0 遵照 Microsoft ODBC 3.0 规范设计与开发,实现了 ODBC 应用程序与 DM 数据库的互连接口。用户可以直接调 DM ODBC 3.0 接口函数访问 DM,也可以使用可视化编程工具如 C++ Builder、PowerBuilder 等利用 DM ODBC 3.0 访问 DM 数据库。

本文旨在介绍Linux操作系统下的ODBC连接DM数据库配置和使用。

二、环境信息

e828bffcc6214f9894d00faa80bbabe1.png

三、Linux 环境创建 ODBC 数据源

3.1 安装unixODBC和unixODBC-devel

[root@192 ~]# yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel+
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Package libtool-ltdl-2.4.2-22.el7_3.x86_64 already installed and latest version
No package libtool-ltdl-devel+ available.
Resolving Dependencies
–> Running transaction check
—> Package unixODBC.x86_64 0:2.3.1-14.el7 will be installed
—> Package unixODBC-devel.x86_64 0:2.3.1-14.el7 will be installed
. . . . . .
. . . . . .
Running transaction
Installing : unixODBC-2.3.1-14.el7.x86_64 1/2
Installing : unixODBC-devel-2.3.1-14.el7.x86_64 2/2
Verifying : unixODBC-devel-2.3.1-14.el7.x86_64 1/2
Verifying : unixODBC-2.3.1-14.el7.x86_64 2/2

Installed:
unixODBC.x86_64 0:2.3.1-14.el7 unixODBC-devel.x86_64 0:2.3.1-14.el7

Complete!

3.2 查看安装结果

[root@192 ~]# odbcinst -j
unixODBC 2.3.1
DRIVERS…: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES…: /etc/ODBCDataSources
USER DATA SOURCES…: /root/.odbc.ini
SQLULEN Size…: 8
SQLLEN Size…: 8
SQLSETPOSIROW Size.: 8

-返回配置文件信息说明部署成功-

3.3 配置DM数据源

3.3.1 配置 /etc/odbcinst.ini 文件,在 odbcinst.ini 文件中添加以下信息:

[DM8 ODBC DRIVER]
Description = DM ODBC DRIVER FOR DM8
Driver = /dm/dmdbms/bin/libdodbc.so

3.3.2 配置 /etc/odbc.ini 文件,在 odbc.ini 文件中添加以下信息:

[DM8]
DRIVER = DM8 ODBC DRIVER
SERVER = 127.0.0.1
UID = SYSDBA
PWD = Dwtest_11
TCP_PORT = 5236

3.3.3 连接测试

[root@192 ~]# isql DM8( /etc/odbc.ini的文件)
a9e3c21159454b41828fc882497a5dd6.png

3.4 可能出现的问题

3.4.1 动态链接库文件不存在

【问题描述】:odbcinstall.ini 配置文件编写错误,无法找到文件,报错信息如下图:
image.png
【问题解决】:修改 odbcinstall.ini 配置文件。

3.4.2 ODBC 连接失败

【问题描述】:报错信息如下图:
image.png
【问题解决】:odbc.ini 文件中服务名配置错误,导致无法找到对应服务名,修改 odbc.ini 文件中服务名即可。

四、DBLINK跨库查询(ODBC方式)

数据库链接对象 (LINK) 是 DM 中的一种特殊的数据库实体对象,它记录了远程数据库的连接和路径信息,用于建立与远程数据的联系。

4.1 Dm8 To Dm8

4.1.1 配置ODBC连接达梦数据库

同上文

4.1.2 创建DBLINK

SQL> CREATE PUBLIC LINK ODBC_LINK CONNECT 'ODBC'
2   WITH "SYSDBA" IDENTIFIED BY "Dameng@2026"
3   USING 'DM8';
操作已执行
已用时间: 32.394(毫秒). 执行号:12701.
SQL> SELECT TOP 5 *  FROM SYSDBA.T1;

行号     ID
---------- -----------
1          1
2          2
3          3
4          4
5          5

已用时间: 2.424(毫秒). 执行号:12709.
SQL> SELECT TOP 5 *  FROM SYSDBA.T1@ODBC_LINK;

行号     ID
---------- -----------
1          1
2          2
3          3
4          4
5          5

已用时间: 34.095(毫秒). 执行号:12710.
SQL>

https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服