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


 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

如下:


Qt oci驱动Windows下编译及测试笔记_第1张图片

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

测试:
#include 
#include
#include
#include

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()<

 
  

输出:

链接远程数据库成功
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"




你可能感兴趣的:(Qt,数据库/oracle,c,c++)