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.iniSYSTEM 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 |
+
|
+
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 |
+
|
+
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@localhost ~ ]
[ root@localhost ~ ]
if [ - f ~ / . bashrc ] ; then
. ~ / . bashrc
fi
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@localhost ~]# echo $LD_LIBRARY_PATH
:/home/dmdba/dmdbms2407/bin
[root@localhost ~]#
7 更多达梦数据库学习使用列表