odbc连接达梦数据库DM8 1 环境介绍 2 达梦数据库安装 3 odbc安装 3.1 查询yum 匹配的odbc安装包 3.2 安装 unixODBC.x86_64 4 配置odbc 5 odbc连接dm8成功 5.1 配置 odbcinst.ini 5.2 配置 odbc.ini 5.3 odbc 连接达梦数据库 5.3.1 dmdba 用户使用isql 5.3.2 root 用户使用 isql 6 odbc连接dm8问题记录 6.1 root 用户 isql -v DM8 报错 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.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
fiPATH= $PATH:$HOME/ binexport 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 更多达梦数据库学习使用列表