在Linux系统下配置达梦数据库(DM)的ODBC连接,需完成「安装ODBC驱动管理器」、「配置达梦ODBC驱动」、「定义数据源」及「测试连接」四个核心步骤,具体操作如下:

一、安装ODBC驱动管理器

1. 验证安装:

执行以下命令查看unixODBC版本及配置文件路径:

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

二、确认达梦ODBC驱动位置

达梦数据库安装时会自带ODBC驱动,默认路径为达梦安装目录下的bin文件夹,驱动文件名为libdodbc.so

  • 假设达梦安装目录为/opt/dmdbms(默认路径,需替换为实际路径),则驱动路径为:
    /opt/dmdbms/bin/libdodbc.so
    
  • 若未找到,需确认达梦数据库是否安装(建议使用DM8及以上版本,自带ODBC驱动)。

三、配置ODBC驱动与数据源

ODBC依赖两个核心配置文件:odbcinst.ini(驱动定义)和odbc.ini(数据源定义),需根据odbcinst -j输出的路径修改。

1. 配置驱动(odbcinst.ini)

编辑系统级驱动配置文件(通常为/etc/odbcinst.ini):

sudo vim /etc/odbcinst.ini

添加以下内容(驱动名称可自定义,需与后续数据源配置对应):

[DM8 ODBC DRIVER]          # 驱动名称(后续数据源会引用此名称)
Description = DM8 ODBC Driver  # 驱动描述(自定义)
Driver = /opt/dmdbms/bin/libdodbc.so  # 达梦ODBC驱动实际路径(替换为你的路径)
Setup =                     # 可选,一般留空
FileUsage = 1
CPTimeout = 5
CPReuse = 5
2. 配置数据源(odbc.ini)

编辑系统级数据源配置文件(通常为/etc/odbc.ini):

sudo vim /etc/odbc.ini

添加以下内容(定义一个具体的数据源,名称可自定义):

[DM8_DSN]                  # 数据源名称(后续连接时使用)
Description = DM8 Test DSN   # 数据源描述(自定义)
Driver = DM8 ODBC DRIVER     # 关联的驱动名称(必须与odbcinst.ini中的驱动名称一致)
Servername = localhost       # 达梦数据库所在主机IP(远程连接填实际IP)
Port = 5236                  # 达梦数据库端口(默认5236,需与实际端口一致)
Database =                   # 数据库名(可选,默认连接默认库)
Uid = SYSDBA                 # 登录用户名(默认SYSDBA)
Pwd = SYSDBA                 # 登录密码(默认SYSDBA,需替换为实际密码)

四、设置环境变量

为确保系统能加载到达梦的库文件(包括ODBC驱动依赖的达梦核心库),需配置LD_LIBRARY_PATH环境变量:

# 临时生效(当前终端)
export LD_LIBRARY_PATH=/opt/dmdbms/bin:$LD_LIBRARY_PATH

# 永久生效(建议添加到/etc/profile或~/.bashrc)
echo 'export LD_LIBRARY_PATH=/opt/dmdbms/bin:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile
source /etc/profile  # 立即生效

五、测试ODBC连接

使用unixODBC自带的isql工具测试连接,命令格式:

isql -v 数据源名称 用户名 密码

以步骤三中定义的DM8_DSN为例:

isql -v DM8_DSN SYSDBA SYSDBA
成功连接的输出:
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

此时可输入SQL命令测试(如select * from v$version;),若返回达梦版本信息,则配置成功。

常见问题排查

  1. 驱动找不到

    • 检查odbcinst.iniDriver路径是否正确(libdodbc.so是否存在)。
    • 确认LD_LIBRARY_PATH已包含达梦bin目录(echo $LD_LIBRARY_PATH查看)。
  2. 连接失败(isql报错)

    • 检查达梦数据库是否启动(systemctl status DmServiceDMSERVER)。
    • 确认odbc.iniServername(IP)、Port(端口)是否正确,且网络可通(telnet IP 5236测试)。
    • 验证用户名密码是否正确(默认SYSDBA/SYSDBA,若修改过需用新密码)。
  3. 权限问题

    • 确保libdodbc.so有执行权限(chmod +x /opt/dmdbms/bin/libdodbc.so)。
    • 配置文件(odbc.iniodbcinst.ini)需可读(chmod 644 /etc/odbc.ini /etc/odbcinst.ini)。

通过以上步骤,即可在Linux系统中完成达梦数据库的ODBC连接配置。
https://eco.dameng.com/

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐