QSqlDatabase:QMYSQL driver not load 之Qt与MySQL连接报错的解决办法
程序员文章站
2022-06-06 14:05:29
...
1.错误情况
1.1 测试程序
QStringList drivers = QSqlDatabase::drivers();
foreach (QString str, drivers) {
//QDebug() << str << " " ;
cout << str.toStdString() << endl;
}
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setUserName("root");
db.setPassword("806102068");//密码多少806102068
if (false == db.open())
{
QMessageBox::critical(NULL, tr("it is not connected database"), tr("it is not connected database"), QMessageBox::Cancel);
}
安装Qt后,准备进行与MySQL数据库的测试,结果提示:
QMYSQL driver not load
可见,除了MySQL数据库驱动,其他数据库驱动都已加载成功了:
像这种错误,原因有很多.常见问题如下:
-
MySQL是64位的,Qt是32位的;
-
MySQL是32位的.Qt是64位的;
-
MySQL数据库的版本太新,导致没有与Qt对应配套的libmysql.dll文件
1.2 错误总结
- 不同版本的mysql里面包含不同的libmysql.dll, 不同的libmysql.dll必须和配套的qsqlmysqld.dll,qsqlmysql.dll一起才能正常工作.
- MySQL的版本和Qt的版本需要一致.比如MySQL是32位的,这时Qt也必要要求是32位的.
2. 解决MySQL驱动加载问题
推荐阅读
-
qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
-
Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
-
QSqlDatabase:QMYSQL driver not load 之Qt与MySQL连接报错的解决办法
-
qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7