中标麒麟QT+ODBC+人大金仓开发环境配置
一、吐槽
最近由于项目的背景,需要在中标麒麟的系统上搭建QT通过ODBC访问人大金仓数据库的开发环境,平常用惯了Ubuntu手到擒来的特性,实在有点不适应。
在找了大半天也没有找到麒麟提供的软件源的情况下,我发现它有可能基于REHL6.4深度定制,就索性给它换了一套由163提供的CentOS源,结果倒是发现很多待
安装的软件包依赖都不是很好,真是醉了。实在没办法只能源码编译走起 : (
二、安装人大金仓
就整体的思路来说,安装人大金仓的过程分为两部分:一、选择安装特性、解压缩文件、配置文件和环境变量,二、安装驱动、安装并启动服务。在上述安装
步骤完成的基础上,就可以创建一个数据库实例,完成初始化活动。
我安装过程中的问题出在执行 Root.sh 的过程中。(前面的步骤可以按照《金仓数据库管理系统KingbaseES V7 快速安装指南》走,一般来说问题不大)
从出错的信息出发去查找,shell文件,可以发现是对应的环境变量没有赋值,导致出现路径中出现这个符号 $,以及找不到目录、文件和用户名。解决问题的方法
就是在保存当前用户的环境变量的文件中去添加这些变量,然后修改 Root.sh 保证 shell 文件能得到正确的值。
错误如下:
[root@localhost Install]# sh Root.sh
Root.sh:行20: $/Install/root.log: 没有那个文件或目录
Root.sh:行21: $/Install/root.log: 没有那个文件或目录
Root.sh:行22: $/Install/root.log: 没有那个文件或目录
cp: 无法获取"$/Uninstall/rmln.sh" 的文件状态(stat): 没有那个文件或目录
Root.sh: 第 247 行:cd: $/Install/startup-desktop/icons: 没有那个文件或目录
find: `./hicolor‘: 没有那个文件或目录
tee: $/Install/root.log: 没有那个文件或目录
id: $: no such user
chown: 无效的用户: "$."
chmod: 无法访问"$/Install/root.log": 没有那个文件或目录
Complete.
在解决这个问题之后,还有可能遇到动态链接库找不到的问题,按照它的需求,对一些已存在的的库,做一个软链接即可。
三、配置ODBC数据源
如何配置ODBC数据源可以参照《KingbaseES系统安装》(官方提供的手册)。但是,在配置完 odbc.ini 与 odbcinst.ini 两个
文件之后,仍需要配置环境变量,ODBCINI 和 ODBCSYSINI 来指定上述两个配置文件的位置。否则可能出现如下错误:
[zzuie@localhost Desktop]$ isql -v kingbase
[08001][unixODBC]Could not connect to the server
[08001][unixODBC]Could not connect to server;
[ISQL]ERROR: Could not SQLConnect
四、编译安装 QT 5.3.2
我使用的中标麒麟版本中,GCC的版本是 4.4.7 而且不包含 G++功能。要编译安装QT 5.3.2,至少要使用 GCC 4.8.4 且具有G++功能。
可是 GCC4.8.4 已经转移到了 C++ 上,那么问题来了,怎么安装高版本的GCC ?
GCC 4.8 Release Series Changes, New Features, and Fixes: GCC now uses C++ as its implementation language.
This means that to build GCC from sources, you will need a C++ compiler that understands C++ 2003
https://gcc.gnu.org/gcc-4.8/changes.html
你可以安装一个低版本的GCC : )
然后你就可以很欢畅地去编译 QT 5.3.2 了
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。