达梦数据库-学习-18-ODBC数据源配置(Linux)

一、环境信息

|------|------------------------------------------------------------------------------------------------------------------------------|
| 名称 | 值 |
| CPU | 12th Gen Intel(R) Core(TM) i7-12700H |
| 操作系统 | CentOS Linux release 7.9.2009 (Core) |
| 内存 | 4G |
| 逻辑核数 | 2 |
| DM版本 | 1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-20240703-234060-20108 4 Msg Version: 12 5 Gsu level(5) cnt: 0 |

二、介绍

工作中我们经常遇到客户需要使用ODBC连接数据库,那配置ODBC数据源就成了必要的操作流程,今天我们来介绍一下配置ODBC数据源的步骤。

三、安装步骤

1、解压unixODBC安装包

bash 复制代码
[root@bogon Pkg]# tar -xvf unixODBC-2.3.0.tar.gz

2、切换目录

bash 复制代码
[root@bogon Pkg]# cd unixODBC-2.3.0/

[root@bogon unixODBC-2.3.0]# pwd
/opt/Pkg/unixODBC-2.3.0

3、配置

bash 复制代码
[root@bogon unixODBC-2.3.0]# ./configure

4、编译

bash 复制代码
[root@bogon unixODBC-2.3.0]# make

5、编译安装

bash 复制代码
[root@bogon unixODBC-2.3.0]# make install

UnixODBC默认安装路径为/usr/local。动态库路径为/usr/local/lib。

6、查看ODBC版本和配置信息

bash 复制代码
[root@bogon unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

7、odbcinst.ini配置

bash 复制代码
[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /opt/Dm8/bin/libdodbc.so

8、odbc.ini配置

bash 复制代码
[root@bogon unixODBC-2.3.0]# cat /usr/local/etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = qwer1234S
TCP_PORT = 5236

9、测试ODBC数据源

bash 复制代码
[root@bogon unixODBC-2.3.0]# su - dmdba
上一次登录:三 4月  9 15:34:23 CST 2025pts/1 上

[dmdba@bogon ~]$ isql DM8 -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

大家记得切换到dmdba用户执行测试命令。如果大家提示动态库找不到之类的错误,可能是环境变量没有配置,可以参考如下内容,配置完记得source一下此文件。

bash 复制代码
[dmdba@czg0 ~]$ cat /home/dmdba/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/Dm8/bin"
export DM_HOME="/opt/Dm8"
bash 复制代码
[dmdba@czg0 ~]$ source /home/dmdba/.bash_profile

如果还连接不上,可能是libdodbc.so连接的动态库找不到导致的问题。

bash 复制代码
[dmdba@bogon ~]$ ldd /opt/Dm8/bin/libdodbc.so
        linux-vdso.so.1 =>  (0x00007ffc298ed000)
        libdmdpi.so => /opt/Dm8/bin/libdmdpi.so (0x00007f8830e5a000)
        libdmfldr.so => /opt/Dm8/bin/libdmfldr.so (0x00007f8830b27000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f883091f000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8830703000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f88304ff000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f88301f7000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f882fef5000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f882fb27000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f882f911000)
        libdmjson.so => /opt/Dm8/bin/libdmjson.so (0x00007f882f6e2000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f8831f68000)
        libdmutl.so => /opt/Dm8/bin/libdmutl.so (0x00007f882f4c7000)
        libdmelog.so => /opt/Dm8/bin/libdmelog.so (0x00007f882f257000)
        libdmos.so => /opt/Dm8/bin/libdmos.so (0x00007f882f021000)
        libdmcvt.so => /opt/Dm8/bin/libdmcvt.so (0x00007f882e8a3000)
        libdmmem.so => /opt/Dm8/bin/libdmmem.so (0x00007f882e690000)
        libdmstrt.so => /opt/Dm8/bin/libdmstrt.so (0x00007f882e482000)
        libdmcalc.so => /opt/Dm8/bin/libdmcalc.so (0x00007f882e1eb000)
        libdmdta.so => /opt/Dm8/bin/libdmdta.so (0x00007f882def4000)
        libdmcfg.so => /opt/Dm8/bin/libdmcfg.so (0x00007f882da8b000)
        libdmbcast.so => /opt/Dm8/bin/libdmbcast.so (0x00007f882d80a000)
        libdmmout.so => /opt/Dm8/bin/libdmmout.so (0x00007f882d530000)
        libdmcyt.so => /opt/Dm8/bin/libdmcyt.so (0x00007f882d30b000)
        libdmcpr.so => /opt/Dm8/bin/libdmcpr.so (0x00007f882d107000)
        libdmcomm.so => /opt/Dm8/bin/libdmcomm.so (0x00007f882ced3000)
        libdmdcrm.so => /opt/Dm8/bin/libdmdcrm.so (0x00007f882ccc6000)
        libdmshm.so => /opt/Dm8/bin/libdmshm.so (0x00007f882cac1000)
        libdmshmm.so => /opt/Dm8/bin/libdmshmm.so (0x00007f882c8bb000)
        libdmclientlex.so => /opt/Dm8/bin/libdmclientlex.so (0x00007f882c686000)
        libdmvtdskm.so => /opt/Dm8/bin/libdmvtdskm.so (0x00007f882c474000)
        libdmdcr.so => /opt/Dm8/bin/libdmdcr.so (0x00007f882c26b000)
        libdmvtdsk.so => /opt/Dm8/bin/libdmvtdsk.so (0x00007f882c063000)
相关推荐
l1t7 小时前
DeepSeek总结的 pg_regresql插件:真正可移植的 PostgreSQL 统计信息
数据库·postgresql
oradh7 小时前
Oracle 11.2.0.1版本升级至11.2.0.4_单机环境
数据库·oracle·oracle11g·oracle升级
l1t7 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
anzhxu7 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
身如柳絮随风扬7 小时前
MySQL核心知识
数据库·mysql
德彪稳坐倒骑驴7 小时前
Oracle 11g安装
数据库·oracle
平行云PVT7 小时前
数字孪生信创云渲染技术解析:从混合信创到全国产化架构
linux·unity·云原生·ue5·图形渲染·webgl·gpu算力
韩立学长7 小时前
Springboot校园跑腿业务系统0b7amk02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
阿贵---8 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
nap-joker8 小时前
【多模态解耦】DecAlign:用于解耦多模态表示学习的分层跨模态对齐
学习·多模态融合·最优传输·多模态表征学习·特征解耦·音频+图像+文本·原型引导