找回密码
 立即注册
收起左侧

Qt5.7连接MySql提示驱动未加载

7
回复
9400
查看
[复制链接]
累计签到:9 天
连续签到:1 天
来源: 2016-8-1 19:48:47 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 100978 于 2016-8-3 10:29 编辑
  1. #include <QStringList>
  2. #include <QSqlQuery>
  3. int main(int argc, char *argv[])
  4. {
  5.     QCoreApplication a(argc, argv);
  6.     qDebug() << "Available drivers:";
  7.     QStringList drivers = QSqlDatabase::drivers();
  8.     foreach(QString driver, drivers)
  9.         qDebug() << driver;
  10.     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  11.     db.setHostName("localhost");
  12.     db.setDatabaseName("mydata");
  13.     db.setUserName("root");
  14.     db.setPassword("123");
  15.     if(!db.open())//打开数据库
  16.     {
  17.         qDebug()<<"Failed to connect to root mysql admin";
  18.     }
  19.     else
  20.     {
  21.         qDebug()<<"open";
  22.     }
复制代码



开发环境:Qt5.7,QtCreator4.0.2,Ubuntu 16.04LTS
-------------------------------------------------------------------------------------------------------------------

安装 libqt5sql5-mysql后我把里面的libqsqlmysql.so覆盖了/opt/Qt5.7.0/5.7/gcc_64/plugins/sqldrivers会出现这样的问题

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

尚未签到

2016-8-2 01:18:59 显示全部楼层
看看系统里面 libqt5sql5-mysql 装了没有,这个是驱动必需文件
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-8-2 18:39:39 显示全部楼层
本帖最后由 流沙 于 2016-8-2 20:46 编辑

QMYSQL driver not loaded:
首先你的电脑是需要安装mysql的(如果是SQLITE就不需要安装),即便QT本身支持mysql。安装后将mysql安装目录下的lib文件夹中的libmysql.dll文件拷贝到qt安装目录的bin文件中(如C:\Qt\Qt5.7.0\5.7\mingw53_32\bin)就可以了。这样就不会有驱动未加载的问题了。
Failed to connect to root mysql admin:
mysql安装后去新建连接(连接名、用户名、密码),qt填入对应的连接名、用户名、密码
回复

使用道具 举报

累计签到:9 天
连续签到:1 天
2016-8-3 09:34:15 显示全部楼层
Joey_Chan 发表于 2016-8-2 01:18
看看系统里面 libqt5sql5-mysql 装了没有,这个是驱动必需文件

刚安装的,但是安装完之后还是无法连接
回复

使用道具 举报

累计签到:9 天
连续签到:1 天
2016-8-3 09:35:56 显示全部楼层
流沙 发表于 2016-8-2 18:39
QMYSQL driver not loaded:
首先你的电脑是需要安装mysql的(如果是SQLITE就不需要安装),即便QT本身支持mys ...

可以看我发的图啊....MYSQL已经安装了。另外我在MySQL目录下的lib文件夹中没有看到libmysql.dll,qt也没有mingw53_32这个文件夹....是因为我用的UBUNTU吗
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-8-3 16:43:53 显示全部楼层
windows才知道,ubuntu就不懂了。。。会不会是没有设置端口号 db。setport(3306)
回复

使用道具 举报

尚未签到

2016-8-3 22:25:02 显示全部楼层
100978 发表于 2016-8-3 09:35
可以看我发的图啊....MYSQL已经安装了。另外我在MySQL目录下的lib文件夹中没有看到libmysql.dll,qt也没有 ...

楼上不懂装懂。。。。。。。。Linux什么时候用dll了。。。那是windows

你试试安装ubuntu自带的qt,官网的那个可能和ubuntu自带的版本不一样,现在1604的是5.5.1  ,官网的可能是更新的5.6 或 5.7

sudo apt install ubuntu-sdk
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-8-4 16:45:11 显示全部楼层
本帖最后由 流沙 于 2016-8-4 16:46 编辑
Joey_Chan 发表于 2016-8-3 22:25
楼上不懂装懂。。。。。。。。Linux什么时候用dll了。。。那是windows

你试试安装ubuntu自带的qt,官网 ...

至于不懂装懂吗?我只是没注意看图是Linux,我发的目录都是Windows目录好吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了