概述
#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
来源:oschina
链接:https://my.oschina.net/u/3707404/blog/3174084