在统信操作系统下达梦8数据库配置unixodbc遇到的三个问题

☞ ░ 前往老猿Python博客 ░ https://blog.youkuaiyun.com/LaoYuanPython

在这里插入图片描述

一、安装unixodbc执行configure报错

在解压后配置unixodbc过程报错,具体错误信息不记得了,好像是说安装包不兼容ARM的机器,解决很简单,到unixodbc官网重新下载最新版本进行安装即可,下载地址如图:
在这里插入图片描述
下载后,登录root用户,在下载目录执行tar xvf unixODBC*.tar解压,解压到指定目录的unixODBC-xxxx子目录,后面的xxxx为版本号。

二、执行安装和配置

2.1、进行unixodbc安装

解压后,进入文件目录,执行 ./configure检查环境和生成配置文件,前面说的报错就是执行这个命令报错。
再在该目录下执行make进行工程编译,编译完成后执行make install进行安装。

下面是参考培训讲义的内容的操作命令(版本2.3.0):

[root@KylinDCA03 opt]# cd unixODBC-2.3.0/
[root@KylinDCA03 unixODBC-2.3.0]# ./configure
注:configure 时可以使用--prefix 参数指定安装路径,不指定使用默认安装路径
/usr/local
[root@KylinDCA03 unixODBC-2.3.0]# make
[root@KylinDCA03 unixODBC-2.3.0]# make install

笔者在官网上下载的是2.3.12版本,下面以实际安装版本介绍后续内容。

2.2、查看unixODBC信息

安装以后,在笔者的机器上安装目录在:/home/dminstall/unixODBC-2.3.12,在该目录下执行如下命令:odbcinst -j

dmdba@jwp:/home/dminstall/unixODBC-2.3.12$ odbcinst -j
unixODBC 2.3.12
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/dmdba/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
dmdba@jwp:/home/dminstall/unixODBC-2.3.12$ 

显示相关的ini文件在/etc目录下。

2.3、 配置odbcinst.ini和odbc.ini

在/etc目录下结合本机安装情况配置odbcinst.ini和odbc.ini 2个文件,在笔者机器上数据库安装在/home/dmdba/dmdbms目录下,相关配置文件内容:

dmdba@jwp:/etc$ cat odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dm123
dmdba@jwp:/etc$ cat odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /home/dmdba/dmdbms/bin/libdodbc.so
dmdba@jwp:/etc$ 

三、验证测试遇到的问题

在上述配置后,使用dmdba用户执行:isql dm8 -v,isql是unixodbc提供的测试程序,执行后报错:

dmdba@jwp:~$ isql dm8 -v
error in load libodbcinst.so!!: 没有那个文件或目录
段错误
dmdba@jwp:~$ 

发现是找不到libodbcinst文件,确实在/home/dmdba/dmdbms/bin没有这个文件,通过root用户使用find / -name libodbcinst.so*查找这个文件:

root@jwp:/usr/local/etc# find / -name libodbcinst.so
/usr/local/lib/libodbcinst.so
/usr/lib/arm-linux-gnueabihf/libodbcinst.so
root@jwp:/usr/local/etc# 

找到了该文件,将该文件直接拷贝到目录/home/dmdba/dmdbms/bin,拷贝后再执行isql:

dmdba@jwp:~$ isql dm8 -v
[S1000][unixODBC]无效的配置值
[ISQL]ERROR: Could not SQLConnect
dmdba@jwp:~$ 

但仔细研究了/etc目录下的odbcinst.ini和odbc.ini文件,没发现配置错误,仔细看了下讲义内容,要求odbcinst.ini和odbc.ini在/usr/local/etc目录下,于是将这2个文件通过root用户拷贝到/usr/local/etc目录,再执行验证通过。

root@jwp:/usr/local/etc# cp /etc/odbc*.ini .
root@jwp:/usr/local/etc# 

拷贝后再到dmdba用户下进行验证:

dmdba@jwp:/etc$ isql dm8 -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select table_name from all_tables;     
+---------------------------------------------------------------------------------------------------------------------------------+
| TABLE_NAME                                                                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------+
| SYSOBJECTS                                                                                                                      |
| SYSINDEXES                                                                                                                      |
| SYSCOLUMNS                                                                                                                      |
| SYSUSER$                                                                                                                        |
| SYSCONS         

                          

四、小结

本文介绍了在ARM+统信操作系统的机器上安装unixodbc适配达梦数据库遇到的三个问题,其中第一个问题是安装版本与机器环境不兼容,通过官网下载最新版本解决,第二个问题是由于找不到libodbcinst.so库文件,通过设置路径或拷贝libodbcinst.so到相关路径解决,第三个问题是由于配置的odbc.ini文件目录不对导致,调整目录即可。

写博不易,敬请支持

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

更多关于统信操作系统的介绍的内容请参考专栏《国产信创之光》的其他文章。

关于老猿的付费专栏

  1. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.youkuaiyun.com/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
  2. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.youkuaiyun.com/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
  3. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.youkuaiyun.com/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.youkuaiyun.com/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录
  4. 付费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取优快云文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.youkuaiyun.com/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.youkuaiyun.com/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 https://blog.youkuaiyun.com/LaoYuanPython
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值