Linux下使用unixODBC连接并操作DM8

 

一、在Linux上创建ODBC数据源

安装unixODBC

unixODBC是一个可以让你在Unix/Linux系统下使用ODBC来连接数据库的组件。

DM ODBC 在 Linux 操作系统上的使用依赖于 UnixODBC 库

注意:确保已经安装并启动了达梦数据库服务。我创建了两个服务,端口分别是5236和5237。

unixODBC-2.3.0.tar.gz 安装包下载地址:

链接:https://pan.baidu.com/s/15cT-Rl7E9fNTbUL_zT6gTQ

提取码:tph0

1、检查gcc包

[root@dameng1 ~]#rpm -qa|grep gcc

 

如若没有安装,则使用如下方式安装。

安装gcc包

[root@dameng1 ~]#yum install -y gcc

2、进入unixODBC安装包的目录

[root@dameng1 ~]#cd /usr/local

 

3、解压安装包

[root@dameng1 home]#tar -xzvf unixODBC-2.3.0.tar.gz

4、进入解压后的目录

[root@dameng1 home]#cd unixODBC-2.3.0/

5、执行configure

[root@dameng1 unixODBC-2.3.0]#./configure

6、执行成功后,接着执行

[root@localhos tunixODBC-2.3.0]#make && make install

7、等待执行完毕后,查看odbc的版本

[root@dameng1 local]# odbc_config --version

 

8、再查看配置文件路径

[root@dameng1 unixODBC-2.3.0]#odbcinst -j

 

注:如果安装后发现odbc配置文件指向了/etc下,可配置odbc环境变量

export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc/odbcinst.ini

/usr/local/etc下方便调整目录权限,放在/etc下,部分场景会出现权限问题。

9、修改/usr/local/etc目录下的2个文件(odbc.ini和odbcinst.ini)

1)odbc.ini

[dm8]

Description = DM ODBC DSN

Driver = DM8 ODBC DRIVER

SERVER = localhost

UID = SYSDBA

PWD = SYSDBA

TCP_PORT = 5237

 

注:TCP_PORT,千万不要配置成PORT。

2)odbcinst.ini

[DM8 ODBC DRIVER]

Description = ODBC DRIVER FOR DM8

DRIVER = /home/dmdba/dmdbms/bin/libdodbc.so

 

注意:odbc.ini 中的 Driver 内容一定要与 odbcinst.ini 中的达梦驱动定义的节点名称相同。

 

10、修改配置文件权限

[root@dameng1 etc]# chmod 775 odbc.ini

[root@dameng1 etc]# chmod 775 odbcinst.ini

11、测试连接

切换到dmdba(数据库安装用户),连接达梦8数据库。

[dmdba@dameng1 bin]$ isql dm8

 

 注:推荐isql -v dm8 ,其中-v选项用于显示详细的操作信息

 

二、Windows上创建ODBC数据源

1、在控制面板\管理工具中访问 ODBC 构件

 

2、显示 ODBC 数据源管理器对话框

 

3、设置和配置一个系统 DSN

 

测试成功,点击确定即可。

三、应用程序使用ODBC访问数据源

开发一般用VS编写程序并编译,这个以后再补充,这次先测试在linux下编译并执行。

1、简单demo

1)、新建一个hello.c文件

#include<stdio.h>

int main(void)

{

 char *string = "Hello World!";

 printf("%s\n",string);

 return 0;

}

2)、编译

[root@dameng1 home]# gcc -o hello hello.c

 

说明:-o 后面的第一个参数“hello”为指定的编译后的文件名,第二个参数“hello.c”为我们在编译的C语言源程序

3)、执行

[root@dameng1 home]# ./hello

 

 

 

 

更多资讯请上达梦技术社区了解: https://eco.dameng.com

posted @   xiaowu222  阅读(1800)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示