上图一个驱动都没有,而在另一个项目数据库是能连接上的,找了一下午的原因,坑死了。、
解决方案:
勾上此选项即可!
最近又发现个问题,软件发布到未安装过mysql的电脑上一直提示”driver not loaded”,各种方法都在尝试,最后终于解决了,现将解决办法记录下来:
qt是以插件方式加载mysql库的,使用查找依赖的软件根本找不到缺少的依赖文件。qt连接mysql数据库依赖“libmysql.dll”(必须与程序位数一致,可去mysql官网下载zip包)和插件驱动(在qt安装目录下的plugins\sqldrivers文件夹内)。
第一步
下载与程序位数一致的mysql压缩文件(.zip),最好是和连接的mysql数据库版本一致(版本号一致,位数可不同),将libmysql.dll拷贝至exe所在目录。
注意:程序为32位,则libmysql.dll也必须是32位,但是连接的数据库服务可以是64位。
第二步
在exe所在目录创建sqldrivers文件夹,将QT安装目录下的plugins\sqldrivers文件夹内的所有文件拷贝至刚创建的文件夹内,并在main文件种添加代码:
QApplication a(argc, argv);
// 添加此语句 加载数据库驱动插件
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath()) + QDir::separator() + "sqldrivers");
a.addLibraryPath(strLibPath);
说明:上面加粗的【所有文件】是因为懒,其实不需要。