下载安装 unixODBC,并配置 unixODBC 连接 DM 数据库
1 - 进入官网:https://www.unixodbc.org/, 选择 Download 下载软件包。
2 - 解压、安装 unixODBC
以 root 用户安装,配置,最后测试时使用 dmdba 用户
# tar -zxvf unixODBC-2.3.0.tar.gz
源码安装三部曲(配置、编译、安装):
(注:configure 时可以使用--prefix 参数指定安装路径 ./configure --prefix=/path/to/install,不指定使用默认安装路径/usr/local)
# mkdir /dm/odbc
# cd unixODBC-2.3.0/
# ./configure <===或者 --prefix=/path/to/install
# make
# make install
3 - 配置驱动数据源信息
查看配置文件路径
[root@test unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.7
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
配置驱动信息 odbcinst.ini 和数据源信息 odbc.ini
注意:使用 unixODBC 连接达梦数据库,需安装达梦数据库客户端(客户端可以从达梦服务器的安装目录/drivers/odbc 下拷贝,也可以单独使用达梦软件包安装客户端,默认 odbc 驱动文件位于达梦安装目录/drivers/odbc 下)。
odbcinst.ini、odbc.ini 内容参考如下:
[root@test /]# vim /etc/odbcinst.ini
[DM ODBC DRIVER]
Description = ODBC DRIVER FOR DM
Driver = /dm/dmdbms/drivers/odbc/libdodbc.so
[root@test /]# vim /etc/odbc.ini
[DM]
Description = DM ODBC DSN
Driver = DM ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5238
4 - 使用 dmdba 用户执行 isql 测试连接是否正常:
$ isql dm -v
[dmdba@test ~]$ isql dm -v
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from v$instance;
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+
| NAME | INSTANCE_NAME | INSTANCE_NUMBER| HOST_NAME | SVR_VERSION | DB_VERSION | START_TIME | STATUS$ | MODE$ | OGUID | DSC_SEQNO | DSC_ROLE | BUILD_VERSION | BUILD_TIME |
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+
| EXAMSVR | EXAMSVR | 1 | test | DM Database Server x64 V8
| DB Version: 0x7000d | 2025-12-08 22:15:11| OPEN | NORMAL | 0 | 0 | | 03134284368-20251022-298158-20149 | Oct 22 2025 10:40:39 |
+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+-----------------------------------------+--------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+------------+------------+---------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------------------------------+
SQLRowCount returns 1
1 rows fetched
5 - 卸载ODBC
手工删除配置文件
[root@test odbc]# odbcinst -j
unixODBC 2.3.7
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
[root@test odbc]# rm /etc/odbcinst.ini
rm:是否删除普通文件 '/etc/odbcinst.ini'?yes
[root@test odbc]# rm /etc/odbc.ini
rm:是否删除普通文件 '/etc/odbc.ini'?yes
[root@test odbc]# rm /etc/ODBCDataSources
rm: 无法删除 '/etc/ODBCDataSources': 没有那个文件或目录
[root@test odbc]# rm /root/.odbc.ini
rm: 无法删除 '/root/.odbc.ini': 没有那个文件或目录
[root@test /]# cd /dm/odbc
[root@test odbc]# ls
bin etc include lib
[root@test odbc]# rm -fr *
欢迎访问达梦技术分享社区 ECO