linux 下 Qt5 链接 oracl

1 篇文章 0 订阅

win7下 Qt5 链接 oracl  文章很多。但不适用与linux 下。

我的环境: centos 6.5   Qt5.4  oracl11g clinet

一。 编译驱动库文件libqsqloci.so

QT打开 /opt/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/oci (安装QT是要指定了src 才有此文件)

修改oci.pro 增加以下两句

INCLUDEPATH += /opt/oracle11g/sdk/include  #oracl开发要用到的头文件
LIBPATH += /opt/oracle11g/  #oracl开发要用到的库文件


然后执行qmake  和build


注:编译完成后, 却在对应的目录下找不到生成的文件。看打印信息 却发现 跑到/plugins/sqldrivers/ 目录下去了,不知道为什

mv -f libqsqloci.so /plugins/sqldrivers/

将  libqsqloci.so  复制到/opt/Qt5.4.0/5.4/gcc_64/plugins/sqldrivers/ 目录下即可;

二: 测试

测试代码:

#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
    db.setHostName("122.229.31.212");
    db.setDatabaseName("WESOFT");
    db.setUserName("ga");
    db.setPassword("foxhis123");
    db.setPort(11521);
    if (db.open())
        qDebug() << "打开成功/n";
    else
        qDebug() << "打开失败/n";

    QSqlQuery query("SELECT column_1 FROM table_1");
    while (query.next()) {
        QString country = query.value(0).toString();
        qDebug() << country.toLocal8Bit().data();
    }

    return a.exec();
}

追加 .pro 文件   QT       += sql

输出:"打开成功/n";



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值