odbc连接达梦数据库DM8

odbc连接达梦数据库DM8

  • [1 环境介绍](#1 环境介绍)
  • [2 达梦数据库安装](#2 达梦数据库安装)
  • [3 odbc安装](#3 odbc安装)
    • [3.1 查询yum 匹配的odbc安装包](#3.1 查询yum 匹配的odbc安装包)
    • [3.2 安装 unixODBC.x86_64](#3.2 安装 unixODBC.x86_64)
  • [4 配置odbc](#4 配置odbc)
    • [4.1 查看odbc 环境信息](#4.1 查看odbc 环境信息)
  • [5 odbc连接dm8成功](#5 odbc连接dm8成功)
    • [5.1 配置 odbcinst.ini](#5.1 配置 odbcinst.ini)
    • [5.2 配置 odbc.ini](#5.2 配置 odbc.ini)
    • [5.3 odbc 连接达梦数据库](#5.3 odbc 连接达梦数据库)
    • [5.3.1 dmdba 用户使用isql](#5.3.1 dmdba 用户使用isql)
    • [5.3.2 root 用户使用 isql](#5.3.2 root 用户使用 isql)
  • [6 odbc连接dm8问题记录](#6 odbc连接dm8问题记录)
    • [6.1 root 用户 isql -v DM8 报错](#6.1 root 用户 isql -v DM8 报错)
  • [7 更多达梦数据库学习使用列表](#7 更多达梦数据库学习使用列表)

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

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

5.2 配置 odbc.ini

  • 在文件中配置
xml 复制代码
[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

sql 复制代码
[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 环境变量

sql 复制代码
[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 更多达梦数据库学习使用列表

相关推荐
码农老起7 分钟前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
夏木~1 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle
W21551 小时前
Liunx下MySQL:表的约束
数据库·mysql
黄名富1 小时前
Redis 附加功能(二)— 自动过期、流水线与事务及Lua脚本
java·数据库·redis·lua
言、雲1 小时前
从tryLock()源码来出发,解析Redisson的重试机制和看门狗机制
java·开发语言·数据库
一个程序员_zhangzhen2 小时前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
zfj3212 小时前
学技术学英文:代码中的锁:悲观锁和乐观锁
数据库·乐观锁··悲观锁·竞态条件
吴冰_hogan2 小时前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
nbsaas-boot2 小时前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json
cmdch20172 小时前
Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
数据库·sql·mybatis