由于使用的免费版本的Qt5.5,只自带了MYSQL、SQLITE、PSQL的数据库驱动,为了适配ORACLE数据库,需根据源码编译QOCI驱动。
在已经安装了ORACLE的情况下,编译过程如下:
cd $QTDIR/../Src/qtbase/src/plugins/sqldrivers/oci/
qmake -o Makefile "INCLUDEPATH+=$ORACLE_HOME/rdbms/public $ORACLE_HOME/rdbms/demo" "LIBS+=-L$ORACLE_HOME/lib -lclntsh" oci.pro
make
make install
然后编写代码,测试是否成功:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QStringList>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << driver;