概述
#include"QSqlDatabase"#include"glog/logging.h"
intmain() {
/* Select database type */automysql_db = QSqlDatabase::addDatabase("QMYSQL");
/* Set connection parameter and credentials */mysql_db.setHostName("localhost");
mysql_db.setPort(3306); //default portmysql_db.setDatabaseName("test");
mysql_db.setUserName("root");
mysql_db.setPassword("iop890IOP*()");
autois_database_open = mysql_db.open();
if(is_database_open) {
LOG(INFO) <
}
}
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数据的支持。
操作
su root
sudo passwd
sudo apt-get install libmysqlclient-dev -y
su oo
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 forbuilding. 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
oracel数据库
wget https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm https://download.oracle.com/otn_software/linux/instantclient/19600/oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
sudo apt-get install alien -y
alien -i oracle-instantclient19.6-devel-19.6.0.0.0-1.x86_64.rpm oracle-instantclient19.6-sqlplus-19.6.0.0.0-1.x86_64.rpm oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm
su root
cd /opt/Qt5.14.1/5.14.1/Src/qtbase/src/plugins/sqldrivers/oci
/opt/Qt5.14.1/5.14.1/gcc_64/bin/qmake QMAKE_INCDIR_OCI="/usr/include/oracle/19.6/client64/" QMAKE_LIBDIR_OCI="/usr/lib/oracle/19.6/client64/lib/" QMAKE_LIBS_OCI="-lclntsh"
make
oracle数据库可以使用sath89/oracle-ee-11g docker镜像