银河麒麟QT连接DM8数据库

本文详细描述了如何在Linux系统上安装达梦8ODBC驱动以及Qt5.9.6中的QODBC驱动,包括unixODBC的编译步骤,以及遇到的常见问题如找不到qtsqldrivers-config.pri和QODBC未加载的解决方法。

1. 安装达梦8


官网下载, 按照官方文档进行安装即可.

2. 安装unixodbc


1> 下载odbc安装包 unixODBC-2.3.7pre.tar.gz
2> 解压

tar -xvf unixODBC-2.3.7pre.tar.gz

3> 编译

./configure -prefix /usr/local
make && make install

4> 查找配置

odbcinst -j

5> 修改配置/usr/local/etc/odbcinst.ini

[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

6> 修改配置/usr/local/etc/odbc.ini

[DM8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SIMDB
PWD = systemdba
TCP_PORT = 5236

3. 编译QT环境QODBC驱动


/opt/Qt5.9.6/5.9.6/Src/qtbase/src/plugins/sqldrivers/odbc

4. 报错


4.1 找不到qtsqldrivers-config.pri

在这里插入图片描述
解决措施:
step1. 修改/opt/Qt5.9.6/5.9.6/Src/qtbase/src/plugins/sqldrivers/qsqldriverbase.pri文件

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include($$shadowed($$PWD)/configure.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

step2. 修改odbc.pro文件, 注释掉QMAKE_USE += odbc
step3. 执行/opt/Qt5.9.6/5.9.6/gcc_64/bin/qmake “LIBS+=-L/usr/local/lib -lodbc”
step4. make
step5. 执行cp …/plugins/sqldrivers/libqsqlodbc.so /opt/Qt5.9.6/5.9.6/gcc_64/plugins/sqldrivers/

4.2 QODBC未加载, 但是提示QODBC avaiable


在这里插入图片描述
可能原因及解决措施:
1> 配置问题, 检查配置, 标红的地方需要一致
在这里插入图片描述
2> 可能是QODBC库依赖不全, ldd查看一下补全依赖即可!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SuperYang_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值