您的位置:首页 > 编程语言 > Qt开发

Qt oci驱动Windows下编译及测试笔记

2014-11-17 21:29 453 查看
set INCLUDE=%include%;D:\oracle\product\10.2.0\db_1\OCI\include;D:\Qt\Qt5.3.2\Tools\mingw482_32\include

set LIB=%lib%;D:\oracle\product\10.2.0\db_1\OCI\lib\MSVC

set path=%path%;D:\Qt\Qt5.3.2\Tools\mingw482_32\bin;D:\Qt\Qt5.3.2\5.3\mingw482_32\bin

cd D:\Qt\Qt5.3.2\5.3\Src\qtbase\src\plugins\sqldrivers\oci

qmake oci.pro

mingw32-make

mingw32-make 之后输出内容显示会将库输出到:D:\Qt\Qt5.3.2\5.3\Src\qtbase\plugins\sqldrivers

如下:



将其复制到:“D:\Qt\Qt5.3.2\5.3\mingw482_32\plugins\sqldrivers”即可。

测试:
#include <QCoreApplication>
#include<QSqlDatabase>
#include<QDebug>
#include<QSqlQuery>

int main(int argc, char *argv[]){
QCoreApplication a(argc, argv);

//连接oracle数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setPort(1521);
db.setHostName("localhost");
db.setDatabaseName("testsid");
db.setUserName("scott");
db.setPassword("tigger");
if (db.open()) {
qDebug()<< "链接远程数据库成功";
}else{
qDebug()<< "链接远程数据库失败";
}

//查询语句
QSqlQuery query("SELECT * FROM emp");
while (query.next()){
int no = query.value(0).toInt();
QString name = query.value(1).toString();
qDebug()<<no<<":"<<name;

}
db.close();
return a.exec();
}




输出:

链接远程数据库成功
7369 : "SMITH"
7499 : "ALLEN"
7521 : "WARD"
7566 : "JONES"
7654 : "MARTIN"
7698 : "BLAKE"
7782 : "CLARK"
7788 : "SCOTT"
7839 : "KING"
7844 : "TURNER"
7876 : "ADAMS"
7900 : "JAMES"
7902 : "FORD"
7934 : "MILLER"



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: