qt连接oracle运行内存大,终于编译好了qt的oracle驱动QOCI,连接成功!!!

这么多天以来终于有件事可以小舒畅了一下了。

今天终于编译好了qt的oracle驱动QOCI,连接成功!!!

Qt Commercial版只自带了SQLLite和ODBC的驱动,oracle的驱动要自己编译,折腾了许久,终于成功了。具体如下:

编译QOCI:

1st

:

go to Qt’s Command Prompt window. (VS 2008

)

2nd

:

set INCLUDE=%INCLUDE%;D:\Work\Oracle_10.2_client\oci\include

3rd

:

set LIB=%LIB%;D:\Work\Oracle_10.2_client\oci\lib\msvc

4th

:

cd %QTDIR%\src\plugins\sqldrivers\oci

5th

:

qmake -o Makefile oci.pro

6th

:

nmake

连接数据库:

#include

#include

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");

db.setHostName("192.168.0.192");

db.setDatabaseName("dbname");

db.setUserName("username");

db.setPassword("passwd");

db.setPort(1521);

if (db.open())

printf("打开成功\n");

else

printf("打开失败\n");

QSqlQuery query("SELECT column_1 from table_1");

while (query.next()) {

QString country = query.value(0).toString();

printf("%s\n",country.toLocal8Bit().data());

}

return a.exec();

}

以前一直显示

QSqlDatabase: QOCI driver not loaded

QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

打开失败

QSqlQuery::exec: database not open

Cheers!

顺带记录下Solaris10下的编译方法(没试过)

Oracle的环境变量:

ORACLE_BASE=/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.0.2

Qt的编译文件在Solaris 10下的路径:

/export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1

Qt的环境变量:

QTDIR=/usr/local/Trolltech/Qt-4.3.1

Show下环境变量:

ORACLE_BASE=/oracle

ORACLE_HOME=$ORACLE_BASE/p

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值