Qt访问Oracle数据库的驱动说明.doc_第1页
Qt访问Oracle数据库的驱动说明.doc_第2页
Qt访问Oracle数据库的驱动说明.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Qt访问Oracle数据库的驱动编译说明Qt免费版本没有提供QOCI驱动(Qt访问Oracle的用户接口驱动),因此必须通过利用源代码编译生成QOCI。本文介绍基于不同操作系统(Win7_X64和RHEL6.1_X64)和编译器(Win7+MinGW/VS2008和RHEL+GCC)如何生成QOCI。一、Win7_X64系统安装VS2008、qt-win-opensource-4.8.0-vs2008、qt-vs-addin-1.1.10。安装完毕后,则可以实现基于vs2008实现Qt软件开发。编译生成QOCI时必须用到Oracle的相关文件(oci.lib和oci.h)。如果安装了Oracle11g数据库,则编译所需要的头文件和库文件分别在$ORACLE_HOMEOCIinclude和$ORACLE_HOMEOCIlibMSVC。如果未安装Oracle11g也可从Oracle官网下载instantclient-sdk-nt-.0.rar,直接解压可以获得所需要的头文件和库文件。(QTDIR=D:qt4.8.0; ORACLE_HOME=E:apporacleproduct11.2.0dbhome_1)1、编译生成QOCI_vs2008利用vs2008打开D:Q设置qsqloci的工程属性,增加头文件oci.h的路径支持设置qsqloci的工程属性,设置oci.lib路径支持通过设定configuration manager依次生成QOCI的调试版和发布版。编译生成Debug版本和Release版本的动态库:qsqlocid4.dll、qsqlocid4.lib和qsqloci4.dll、qsqloci4.lib。将上述文件拷贝至$QTDIRpluginssqldrivers文件中即可。2、编译生成QOCI_MinGWMinGW编译器采用了QtCreator2.4.1集成的MinGW编译环境。采用了qt-everywhere-opensource-src-4.8.1.tar源代码包。(假设QtCreator的安装路径为D:QtSDK,Qt源代码解压路径D:qsrc)开始编译前,需要修改几个环境变量:在PATH中添加D:QtSDKmingwbin(备注:mingw32-make路径)D:QtSDKDesktopQt4.8.0mingwbin(备注:qmake路径)在LIB中添加D:QtSDKDesktopQt4.8.0mingwlib(备注:MinGW库文件路径)E:apporacleproduct11.2.0dbhome_1OCIlibMSVC (备注:oci.lib路径)在INCLUDE中添加E:apporacleproduct11.2.0dbhome_1OCIinclude(备注:oci.h路径)通过cmd进入E:qsrcsrcpluginssqldriversoci路径,执行qmake和mingw32-make,如下图编译后生成的动态库libqsqloci4.a、libqsqlocid4.a、qsqloci4.dll、qsqlocid4.dll在E:qsrcpluginssqldrivers文件夹中。将上述文件拷贝至Qt目录对应的pluginssqldirver中即可。3、QOCI插件安装利用上述方法生成QOCI插件。如果开发环境采用的QtCreator集成开发环境(安装路径QTSDK_PATH=D:QtSDKDesktopQt4.8.0),则根据不同的编译器将上述库文件放置在$QTSDK_PATHvs2008pluginssqldrivers或$QTSDK_PATHmingwpluginssqldrivers下面即可。如果是单独安装的Qt(QTDIR= D:Qt4.8.0)在放置在$QTDIRpluginssqldrivers下即可。4、Oracle访问程序例子1. #include 2. #include 3. #include 4. #include 5. intmain(intargc,char*argv)6. 7. QCoreApplicationa(argc,argv);8. / 9. QSqlDatabasedb=QSqlDatabase:addDatabase(QOCI);10. db.setHostName(92);11. db.setDatabaseName(dbname);12. db.setUserName(username);13. db.setPassword(passwd);14. db.setPort(1521);15. if(db.open()16. printf(打开成功/n);17. else18. printf(打开失败/n);19. / 20. QSqlQueryquery(SELECTcolumn_1FROMtable_1);21. while(query.next()22. QStringc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论