当前位置: 首页 > news >正文

建e网全屋设计效果图重庆seo排名优化费用

建e网全屋设计效果图,重庆seo排名优化费用,学校网站建设所使用的技术,网站开发房源岗位QT学习笔记-QT安装oracle oci驱动 0、背景1、环境以及条件说明2、编译驱动2.1 下载oracle instant client2.2 编译qt oci驱动2.2.1 修改oci.pro2.2.2 MinGW64构建套件编译2.2.3 MSVC2019_64构建套件编译 3、访问数据库运行成功 0、背景 在使用QT开发应用的过程中#xff0c;往… QT学习笔记-QT安装oracle oci驱动 0、背景1、环境以及条件说明2、编译驱动2.1 下载oracle instant client2.2 编译qt oci驱动2.2.1 修改oci.pro2.2.2 MinGW64构建套件编译2.2.3 MSVC2019_64构建套件编译 3、访问数据库运行成功 0、背景 在使用QT开发应用的过程中往往会把应用使用过程中产生的数据放入数据库进行统一存储因此通过QT实现数据库的访问可以说是必须的一个知识点其实QT访问数据库的语法及相关类和方法的使用并不复杂但是对于使用QT的新人来说往往会开在数据库驱动加载的地方比如遇到以下问题 QSqlDatabase: QPSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 虽然QT的驱动列表中有QPSQL但是确保不能加载。下面就来说一下正确使用QT方法数据的驱动问题。 QT最新的安装包安装完毕后默认支持ODBC和SQLITE数据库要想使用其他的数据库那么你在安装QT的时候要把源码选项勾上。 1、环境以及条件说明 操作系统windows10专业版 数据库版本Postgresql 14.664位在编译驱动的时候需要引用这里面的库和头文件也可以不安装直接下载压缩包解压也行 QT版本5.15.2且安装的时候勾选了源码 QT安装目录D:\Qt QT编译套件1MinGW64关于32位位与64位问题要与数据库一致 QT编译套件2MSVC2019_64不同的编译套件默认内置的数据库驱动是不一样的具体看套件的plugins/sqldrivers/目录下的库文件 2、编译驱动 2.1 下载oracle instant client 1、首先要下载oracleclient因为在编译oci驱动时要依赖oracleclient中的库和头文件。下载地址为 https://www.oracle.com/database/technologies/instant-client/downloads.html 如下图 Oracle Instant Client的下载要根据操作系统版本和Oracle服务器版本匹配才行。我开发环境是Windows10 64位系统因此选择的是Instant Client for Microsoft Windows (x64) 2、点击后会出现Oracle Instant Client版本选择如下图 不同的Oracle Instant Client版本支持的Oracle服务器的版本也不相同我用的Oracle服务器版本是11.2这里选择的版本是Version 19.xx.x.x.x我之前下载的是19.19现在截图的时候已经是19.20差别不大。 3、点开后可以看到有BasicPackage、SQL*Plus Package、Tools Package、SDK Package、JDBC Supplement Package、ODBC Package等包的下载如下图 编译oci需要至少2个包就是Baisc Package、SDK Package 4、下载后如下图 然后解压basic和sdk这2个压缩包。 5、我这个把解压后的文件夹复制到D盘了复制不复制可以根据实际情况定。如下图 2.2 编译qt oci驱动 2.2.1 修改oci.pro 1、首先找到qt oci项目的源码我的源码记住安装QT的时候一定要勾选源码位置如下 D:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\oci 2、然后用qtcreator打开oci.pro并对oci.pro的内容进行修改修改之前最好先对oci项目进行一下备份如下 TARGET qsqlociHEADERS $$PWD/qsql_oci_p.h SOURCES $$PWD/qsql_oci.cpp $$PWD/main.cpp#注释该行 #QMAKE_USE oci#根据Oracle客户端安装路径 指定oci.dll QMAKE_LFLAGS D:\oracleinstantclient_19_19\oci.dll#根据Oracle客户端安装路径 指定头文件目录 INCLUDEPATH D:\oracleinstantclient_19_19\sdk\include#根据Oracle客户端安装路径 指定库文件.lib路径 LIBS -LD:\oracleinstantclient_19_19\sdk\lib\msvc -locidarwin:QMAKE_LFLAGS -Wl,-flat_namespace,-U,_environOTHER_FILES oci.jsonPLUGIN_CLASS_NAME QOCIDriverPlugin include(../qsqldriverbase.pri)如下图 2.2.2 MinGW64构建套件编译 1、在qtcreator设置项目使用的构建套件为MinGW64如下图 2、分别进行Debug编译和Release编译编译完毕后出现如下图 在D:\plugins\sqldrivers目录生成的libqsqloci.a、qsqloci.dll、qsqloci.dll.debug 3、让QT的程序能找到编译好的驱动。 qt工程在编译是默认寻找数据库驱动的路径注意项目使用的编译套件是MinGw 64位的是D:\Qt\5.15.2\mingw81_64\plugins\sqldrivers因此需要把上一步编译生成的3个文件libqsqloci.a、qsqloci.dll、qsqloci.dll.debug复制到D:\Qt\5.15.2\mingw81_64\plugins\sqldrivers目录下。如下图 2.2.3 MSVC2019_64构建套件编译 1、在qtcreator设置项目使用的构建套件为MSVC2019_64如下图 这时切换到代码编辑会发现一个错误内容为Project ERROR: msvc-version loaded but QMAKE_MSC_VER isn’t set如下图 为了解决这个问题我们需要在D:\Qt\5.15.2\msvc2019_64\mkspecs\common\msvc-version.conf中设置一下QMAKE_MSC_VER的值如下图 注意1919那个值应该是从下面的版本设置列表中找到才行。 2、然后关闭qtcreator重新打开qtcreator并在qtcreator中打开oci.pro项目然后使用MSVC2019_64构建套件进行编译又出现了一个错误内容为LNK1107:文件无效或损坏无法在0x2F8处读取 - oci.dll如下图 在使用MSVC构建套件进行编译oci时不需要在pro中指定oci.dll的路径 我们需要再修改一下pro文件的内容修改后内容如下 TARGET qsqlociHEADERS $$PWD/qsql_oci_p.h SOURCES $$PWD/qsql_oci.cpp $$PWD/main.cpp#注释该行 #QMAKE_USE oci#根据Oracle客户端安装路径 指定oci.dll !msvc {QMAKE_LFLAGS D:\oracleinstantclient_19_19\oci.dll }#根据Oracle客户端安装路径 指定头文件目录 INCLUDEPATH D:\oracleinstantclient_19_19\sdk\include#根据Oracle客户端安装路径 指定库文件.lib路径 LIBS -LD:\oracleinstantclient_19_19\sdk\lib\msvc -locidarwin:QMAKE_LFLAGS -Wl,-flat_namespace,-U,_environOTHER_FILES oci.jsonPLUGIN_CLASS_NAME QOCIDriverPlugin include(../qsqldriverbase.pri)如下图 这样修改后无论我们使用msvc构建套件还是mingw构建套件都可以正常编译过去了。 3、为了防止msvc构建套件编译生成的库文件与mingw构建套件编译生成的库文件混淆我们先把D:\plugins\sqldrivers目录中的文件删除然后通过msvc构建套件编译oci项目编译完毕后生成的库文件如下图 4、让QT的程序能找到编译好的驱动。 qt工程在编译是默认寻找数据库驱动的路径注意项目使用的编译套件是MSVC2019_64位的是D:\Qt\5.15.2\msvc2019_64\plugins\sqldrivers因此需要把上一步编译生成的3个文件libqsqloci.a、qsqloci.dll、qsqloci.dll.debug复制到D:\Qt\5.15.2\msvc2019_64\plugins\sqldrivers目录下。如下图 3、访问数据库运行成功 1、需要在代码中指定引用的oci库的路径 QLibrary *oci_lib new QLibrary(D:/oracleinstantclient_19_19/oci.dll); oci_lib-load(); if (!oci_lib-isLoaded()) {qDebug() oracle oci动态库加载失败!;return; }2、完整测试代码如下 #ifdef Q_OS_WINQLibrary *oci_lib new QLibrary(D:/oracleinstantclient_19_19/oci.dll);oci_lib-load();if (!oci_lib-isLoaded()){qDebug() oracle oci动态库加载失败!;return;} #else // QLibrary *oci_lib new QLibrary(/usr/lib/oracleclient/instantclient_19_19/libclntsh.so); // bool loadresult oci_lib-load(); // qDebug() oracle oci动态库load result is loadresult; // if (!loadresult) // { // qDebug() oci_lib-errorString(); // } // if (!oci_lib-isLoaded()) // { // qDebug() oracle oci动态库libclntsh.so加载失败!; // return; // } #endifQStringList driverList QSqlDatabase::drivers();qDebug() driverList;//以下代码测试访问Oracle数据库QSqlDatabase db QSqlDatabase::addDatabase(QOCI);db.setHostName(172.16.12.6);db.setPort(1521);db.setDatabaseName(orcl);db.setUserName(mes);db.setPassword(oracle);if (!db.open()){qDebug() 数据库连接失败!;}else{qDebug() 数据库连接成功!;}3、运行结果如下
http://www.hkea.cn/news/14328994/

相关文章:

  • 宿迁高端网站建设wordpress 视频教程
  • 淘客怎样做自己的网站wordpress怎么关注别人
  • 招聘设计师去哪个网站如何用ps做网站设计图
  • 江苏省交通建设监理协会网站高端网站建站
  • 渭南做网站都有哪些下载百度极速版免费安装
  • 建站工具介绍广东省建设工程执业中心网站
  • 做照片有那些网站微信小程序 编程
  • 邯郸做网站的地方网站建设招标文件
  • 网站添加 百度商桥苏州建设网官网
  • wix做的网站能扒下来网站修改解析怎么做
  • 快速做网站公司哪家好做网站需要了解哪些知识
  • 免备案空间网站备案桥东网站建设
  • 如何建立自己的网站免费网站建设包括哪些内容
  • 沙河高端网站建设北京工程造价信息网官网
  • 策划对于企业网站建设来说wordpress谷歌收录
  • 东莞网站优化排名网站wordpress上传中文图片不显示
  • 丽水品牌网站建设金蝶云企业云平台
  • 网站建设jsp淘宝联盟怎么做自已的网站
  • 临夏市建设局网站常用网站开发软件
  • 建设校园网站必要性网站备案 企业
  • 福州网络营销网站ppt模板免费素材
  • 有名的网站开发工具泰安招聘信息最新招聘2023
  • 查一下红之易道学做的什么网站网络活动策划方案
  • 美色商城 网站建设网站优化外包公司
  • 网站推广人员怎么算业绩基于html5的旅游网站的设计
  • php网站访问很慢鲜花网络营销推广方案
  • 企业网站的基本内容有哪些如何做微信商城网站建设
  • 怎样做网站文件验证wordpress请提供一个地址才能继续
  • 临沂网站制作费用上虞市住房和城乡建设局网站
  • 徐州发布网站房产网站建设哪家好