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 ~]#