zoukankan      html  css  js  c++  java
  • Qt5.6.0(32位)编译SQLServer驱动(ODBC)(vs2013)

    环境:

    • win7 64
    • VS 2013
    • Qt 5.6.0(32 msvc)
    • Qt add in 1.2.5

    测试是否支持ODBC驱动:

    Qt中SQL Server的驱动名是ODBC(Qt5.2连接SQLServer2008)。
    可以到C:QtQt5.6.05.6msvc2013pluginssqldrivers(改成自己的目录)查看是否有qsqlodbc.dll和qsqlodbcd.dll,或者用如下程序进检测:

    qDebug() << "Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
    qDebug() << "	" << driver;
    QSqlDatabase dbc = QSqlDatabase::addDatabase("QODBC");
    qDebug() << "ODBC driver valid?" << dbc.isValid();

    结果:

    Available drivers:
             "QSQLITE"
             "QMYSQL"
             "QMYSQL3"
             "QPSQL"
             "QPSQL7"

    列表中没有ODBC。

    没有ODBC驱动怎么办?

    不要怕,可以自己编译ODBC,按照以下几步来:

    • C:QtQt5.6.05.6Srcqtbasesrcpluginssqldriversodbc目录下,打开命令行(按shift+右键),执行qmake odbc.pro
    • C:Program Files (x86)Microsoft Visual Studio 12.0Common7ToolsShortcuts目录下打开VS2013 x86 本机工具命令提示,进入C:QtQt5.6.05.6Srcqtbasesrcpluginssqldriversodbc目录,执行nmake命令
    • C:QtQt5.6.05.6Srcqtbasepluginssqldrivers目录下会生成qsqlodbc.dllqsqlodbcd.dll
    • 将生成的dll拷贝到C:QtQt5.6.05.6msvc2013pluginssqldrivers
    • 完成

    注意:

    • 没有Qt源码

      QT5.6 编译SQLServer驱动提示进入C:QtQt5.6.05.6Srcqtbasesrcpluginssqldriversodbc,但是我的C:QtQt5.6.05.6下面只有msvc2013文件夹,没有Src文件夹,该怎么办?

      解决方法:重新安装qt5.6,在选择组件的时候,把Source Coomponents勾选上。

    • vs2013的命令行要用正确

      C:Program Files (x86)Microsoft Visual Studio 12.0Common7ToolsShortcuts有很多的命令行快捷方式,不能乱用。这里编译的是32位的Qt的dll,如果用VS2013 开发人员命令提示进行nmake会提示如下错误:
      “模块计算机类型“x64”与目标计算机类型“X86”冲突”。

    重新运行前面提到的程序结果如下:

    Available drivers:
             "QSQLITE"
             "QMYSQL"
             "QMYSQL3"
             "QODBC"
             "QODBC3"
             "QPSQL"
             "QPSQL7"

    可见已经有SQLServer驱动(ODBC)了。

  • 相关阅读:
    VMware安装centos7
    Docker Compose 启动mysql,redis,rabbitmq
    mysql升级到5.7
    Docker Compose搭建ELK
    Spring Boot源码(八):Spring AOP源码
    Spring AOP-基于@AspectJ风格
    JDK动态代理
    Spring Boot源码(七):循环依赖
    Spring Boot源码(六):Bean的创建详解
    Spring Boot源码(五):BeanFactoryPostProcessor和BeanPostProcessor
  • 原文地址:https://www.cnblogs.com/shanchuan/p/8150292.html
Copyright © 2011-2022 走看看