odbc连接达梦数据库DM8

1 环境介绍

  • x86 , 银河麒麟 v10
  • dm8.1-3-162-2024.07.03-234060-20108-ENT
  • unixODBC 2.3.7

2 达梦数据库安装

3 odbc安装

3.1 查询yum 匹配的odbc安装包

[root@localhost ~]# yum list *odbc*
上次元数据过期检查:1:01:35 前,执行于 2024年08月29日 星期四 09时33分13秒。
已安装的软件包
unixODBC.x86_64                                        2.3.7-2.ky10                                        @anaconda
可安装的软件包
apr-util-odbc.x86_64                                   1.6.1-15.ky10                                       ks10-adv-updates
erlang-odbc.x86_64                                     21.3.3-4.ky10                                       ks10-adv-updates
ogdi-odbc.x86_64                                       3.2.1-3.ky10                                        ks10-adv-os
php-odbc.x86_64                                        7.2.34-3.p02.ky10                                   ks10-adv-updates
qt5-qtbase-odbc.x86_64                                 5.11.1-16.p02.ky10                                  ks10-adv-updates
unixODBC.x86_64                                        2.3.7-3.h1.ky10                                     ks10-adv-updates
unixODBC-devel.x86_64                                  2.3.7-3.h1.ky10                                     ks10-adv-updates
[root@localhost ~]# 

3.2 安装 unixODBC.x86_64

[root@localhost ~]# yum install unixODBC.x86_64
上次元数据过期检查:1:03:21 前,执行于 2024年08月29日 星期四 09时33分13秒。
软件包 unixODBC-2.3.7-2.ky10.x86_64 已安装。
依赖关系解决。
===========================================================================================================================
 Package                  Architecture           Version                            Repository                        Size
===========================================================================================================================
升级:
 unixODBC                 x86_64                 2.3.7-3.h1.ky10                    ks10-adv-updates                 394 k

事务概要
===========================================================================================================================
升级  1 软件包

总下载:394 k
确定吗?[y/N]: y
下载软件包:
unixODBC-2.3.7-3.h1.ky10.x86_64.rpm                                                        790 kB/s | 394 kB     00:00
---------------------------------------------------------------------------------------------------------------------------
总计                                                                                       786 kB/s | 394 kB     00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                            1/1
  升级    : unixODBC-2.3.7-3.h1.ky10.x86_64                                                                            1/2
  运行脚本: unixODBC-2.3.7-3.h1.ky10.x86_64                                                                            1/2
/sbin/ldconfig: /usr/lib64/libLLVM-7.so 不是符号链接


  清理    : unixODBC-2.3.7-2.ky10.x86_64                                                                               2/2
  运行脚本: unixODBC-2.3.7-2.ky10.x86_64                                                                               2/2
/sbin/ldconfig: /usr/lib64/libLLVM-7.so 不是符号链接


/sbin/ldconfig: /usr/lib64/libLLVM-7.so 不是符号链接


/sbin/ldconfig: /usr/lib64/libLLVM-7.so 不是符号链接


  验证    : unixODBC-2.3.7-3.h1.ky10.x86_64                                                                            1/2
  验证    : unixODBC-2.3.7-2.ky10.x86_64                                                                               2/2

已升级:
  unixODBC-2.3.7-3.h1.ky10.x86_64

完毕!
[root@localhost ~]# 

4 配置odbc

4.1 查看odbc 环境信息

  • 特别注意 参数的路径信息,(有的在 /etc 目录中, 有的在 /usr/local/etc 目录中)
  • DRIVERS : 需要修改路径指向的配置文件 odbcinst.ini
  • SYSTEM DATA SOURCES : 需要修改路径指向的配置文件 odbc.ini
[root@localhost ~]# 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@localhost ~]# 

5 odbc连接dm8成功

5.1 配置 odbcinst.ini

  • 在文件末尾追加
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /home/dmdba/dmdbms2407/bin/libdodbc.so

5.2 配置 odbc.ini

  • 在文件中配置
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER =127.0.0.1
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

5.3 odbc 连接达梦数据库

5.3.1 dmdba 用户使用isql

[dmdba@localhost bin]$ isql -v DM8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select id_code;
+---------------------------------------------------------------------------------------------------------------------------------+
| ID_CODE                                                                                                                         |
+---------------------------------------------------------------------------------------------------------------------------------+
| --03134284194-20240703-234060-20108 Pack1                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> quit
[dmdba@localhost bin]$
[dmdba@localhost bin]$ isql -v dm8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select id_code;
+---------------------------------------------------------------------------------------------------------------------------------+
| ID_CODE                                                                                                                         |
+---------------------------------------------------------------------------------------------------------------------------------+
| --03134284194-20240703-234060-20108 Pack1                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> quit
[dmdba@localhost bin]$

5.3.2 root 用户使用 isql

  • 可能会遇到环境变量问题导致报错 , 请参考 ( 6 odbc连接dm8问题记录)
[root@localhost ~]# isql -v DM8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select id_code;
+---------------------------------------------------------------------------------------------------------------------------------+
| ID_CODE                                                                                                                         |
+---------------------------------------------------------------------------------------------------------------------------------+
| --03134284194-20240703-234060-20108 Pack1                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> quit
[root@localhost ~]#
[root@localhost ~]# isql -v dm8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select id_code;
+---------------------------------------------------------------------------------------------------------------------------------+
| ID_CODE                                                                                                                         |
+---------------------------------------------------------------------------------------------------------------------------------+
| --03134284194-20240703-234060-20108 Pack1                                                                                       |
+---------------------------------------------------------------------------------------------------------------------------------+
SQLRowCount returns 1
1 rows fetched
SQL> quit
[root@localhost ~]#

6 odbc连接dm8问题记录

6.1 root 用户 isql -v DM8 报错

[root@localhost root]# isql -v dm8
[01000][unixODBC][Driver Manager]Can't open lib '/home/dmdba/dmdbms2407/bin/libdodbc.so' : file not found
[ISQL]ERROR: Could not SQLConnect
[root@localhost root]# 
  • 解决方法步骤 :
  • 查看 root , dmdba 用户的环境变量
[root@localhost ~]# echo $LD_LIBRARY_PATH

[root@localhost ~]#
[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ echo $LD_LIBRARY_PATH
:/home/dmdba/dmdbms2407/bin
[dmdba@localhost ~]$
  • 配置 root 环境变量
[root@localhost ~]# cd /root
[root@localhost ~]# cat .bash_profile
# .bash_profile

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

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

#添加数据库路径环境变量(填写自己的实际路径)
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms2407/bin"
export DM_HOME="/home/dmdba/dmdbms2407"

[root@localhost ~]#

  • root 用户验证环境变量生效
[root@localhost ~]# echo $LD_LIBRARY_PATH
:/home/dmdba/dmdbms2407/bin
[root@localhost ~]#

7 更多达梦数据库学习使用列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值