工作中经常用到Oracle,而默认情况下Qt只有Sqlite和ODBC驱动,网上有相应的驱动安装介绍,自己实验可行:
QT环境:Qt 5.0.2 /MinGW4.7.2/WIN7 32bit
打开Qt Command Prompt,分别执行以下命令,以编译Oracle驱动:
set INCLUDE=%include%;C:oracleproduct10.2.0db_1OCIinclude;C:QtQt5.0.2ToolsMinGWinclude
set LIB=%lib%;C:oracleproduct10.2.0db_1OCIlibMSVC
cd C:QtQt5.0.25.0.2Srcqtbasesrcpluginssqldriversoci
qmake oci.pro
mingw32-make
其中,C:oracleproduct10.2.0db_1OCIinclude为Oracle OCI驱动源码所在目录,D:/QT/mingw/include为编译环境的位置。
执行完以上语句,就会生成libqsqloci.a、libqsqlocid.a、qsqloci.dll、qsqlocid.dll四个文件,把它们copy到C:QtQt5.0.25.0.2mingw47_32pluginssqldrivers目录中即可。
在程序中测试:
#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QStringList>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<”Available drivers:”;
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() <<”/t” << driver;
return a.exec();
}
就可以看到目前已经有的驱动列表: