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 更多达梦数据库学习使用列表

相关推荐
小二·1 天前
RAG + 向量数据库实战:ChromaDB / Milvus / FAISS 选型与性能横评
数据库·milvus·faiss
矜持的左手1 天前
电子小白的枕边书:电子学(The Art of Electronics)
数据库·restful
吴声子夜歌1 天前
Redis 5.x——布隆过滤器
数据库·redis·缓存
蓝天下的守望者1 天前
svt_apb_if里的宏定义问题
运维·服务器·数据库
上海云盾-小余1 天前
网站频繁遭遇 SQL 注入溯源与原生漏洞修复全流程总结
数据库·sql
数据库小学妹1 天前
国家区域医疗中心国产化改造实战:数据库选型、跨院区数据互通与踩坑经验
数据库·国产数据库·数据库选型·医疗信息化·信创数据库·医疗信创
AllData公司负责人1 天前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
2603_954708311 天前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全
IvorySQL1 天前
从双解析器到循环工程:IvorySQL 五年技术演进路线的深度观察
大数据·数据库·人工智能·postgresql·开源