QT mysql SQLite 数据库支持

痞子三分冷 提交于 2020-02-27 04:11:19

概述

#include "QSqlDatabase"
#include "glog/logging.h"

int main() {
    /* Select database type */
    auto mysql_db = QSqlDatabase::addDatabase("QMYSQL");

    /* Set connection parameter and credentials */
    mysql_db.setHostName("localhost");
    mysql_db.setPort(3306);             //default port
    mysql_db.setDatabaseName("test");
    mysql_db.setUserName("root");
    mysql_db.setPassword("iop890IOP*()");
    auto is_database_open = mysql_db.open();
    if (is_database_open) {
        LOG(INFO) << "open sucess";
    }
}

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins

    qt-opensource-linux-x64-5.14.1.run安装的qt可能只支持有限的几种数据库,缺少mysql的支持,按照下文操作添加mysql数据的支持。

操作

    下载对应版本的源码 http://mirrors.ustc.edu.cn/qtproject/archive/qt/5.14/5.14.1/single/qt-everywhere-src-5.14.1.tar.xz

sudo apt-get install libmysqlclient-dev -y

export PATH=/opt/Qt5.14.1/5.14.1/gcc_64/bin/:$PATH
tar xf qt-everywhere-src-5.14.1.tar.xz
cd qt-everywhere-src-5.14.1/qtbase/src/plugins/sqldrivers
qmake
Running configuration tests...
        Done running configuration tests.

Configure summary:

Qt Sql Drivers:
DB2 (IBM) .............................. no
        InterBase .............................. no
        MySql .................................. yes
OCI (Oracle) ........................... no
        ODBC ................................... no
        PostgreSQL ............................. no
        SQLite2 ................................ no
        SQLite ................................. yes
        Using system provided SQLite ......... no
TDS (Sybase) ........................... no

        Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/opt/Qt5.14.1/5.14.1/gcc_64'.

Prior to reconfiguration, make sure you remove any leftovers from
        the previous build.

make
sudo cp ./plugins/sqldrivers/libqsqlmysql.so /opt/Qt5.14.1/5.14.1/gcc_64/plugins/sqldrivers/

注意替换/opt/Qt5.14.1/5.14.1/的目录,我这里启用了mysql,其他的数据可以安装对应的启动也可以编辑,然后复制到对应的目录下。

 

重新运行程序。

I0225 20:50:21.861747   885 testSQL.cpp:40] open sucess

   

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!