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

QT连接Oracle数据库配置文档

2015-12-28 10:49 316 查看
一.安装Oracle 11G Client客户端

下载地址: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
参考文档:
/article/8024364.html http://blog.csdn.net/lpp1989/article/details/8127353)
编译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 命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: