下载地址:http://yunpan.cn/QCgi8PwURFt9E 访问密码 5e30
安装步骤: http://blog.csdn.net/facepp/article/details/7673119
二.编译驱动
QT sql模块使用数据库驱动来和不同的数据库接口进行通信。QT的SQL模型接口是独立于数据库的,所以所有数据库特定的代码都包含在了这些驱动中。QT默认支持一些驱动,例如QODBC(sqlserver),QMTSQL(MySQL),QSQLITE(SQLite)等数据库驱动,但是没有Oracle数据库的驱动,所以我们要编译QOCI这个驱动。
( QT版本:5.3.0)
未编译驱动出错:QSqlDatabase: QOCIdriver not loaded
参考文档:
编译QOCI:
1st:
go to Qt’s Command Prompt window.
2nd:
set INCLUDE=%INCLUDE%;D:/Work/Oracle_10.2_client/oci/include
(分号后面为oracle客户端安装目录)
3rd:
set LIB=%LIB%;D:/Work/Oracle_10.2_client/oci/lib/msvc
4th:
cd %QTDIR%/src/plugins/sqldrivers/oci 进入到QT oci 目录
5th:
qmake -o Makefile oci.pro 编译工程
6th:
mingw32-make生成QOCI驱动
在如图所示路径下找到生成的文件
将.dll 2个文件拷贝到如图所示路径下
这样QT中就有支持oracle的数据库驱动了。
三:测试连接
建立一个QT工程,并在.pro文件中加入 QT += sql
测试代码:
void Widget::on_pushButton_clicked()
{
QSqlDatabase db= QSqlDatabase::addDatabase("QOCI");
db.setHostName("172.23.253.104");
db.setDatabaseName("orcl");
db.setUserName("test");
db.setPassword("test");
db.setPort(1521);
if(db.open())
{
QMessageBox::information(this, tr("提示"), tr("Oracle数据库连接成功!"), tr("确定"));
}
else
{
QMessageBox::information(this, tr("提示"), tr("Oracle数据库连接失败!"), tr("确定"));
}
}
如果弹出窗口提示Oracle数据库连接成功!则成功。
//--------------------------------------
当QT使用VS 的编译器,使用nmake命令是无法识别,需要将VS下的一个BAT文件拷贝到QT命令窗口。
然后再运行nmake 命令。