1. QT       += sql //在.pro文件里加入这一句
  2. //包含头文件
  3. #include <QDebug>
  4. #include <QSqlQuery>
  5. #include <QSqlDatabase>
  6. //连接数据库
  7. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  8. db.setHostName("localhost");
  9. db.setDatabaseName("mydb");
  10. db.setUserName("root");
  11. db.setPassword("123456");
  12. bool ok = db.open();
  13. if(!ok)
  14. {
  15. qDebug()<<"open db fail";
  16. return;
  17. }
  18. //将数据表中的内容全部列出
  19. QSqlQuery query;
  20. query.exec("SELECT * FROM tb_A2");
  21. while(query.next())
  22. {
  23. qDebug()<<query.value(0).toString()<<query.value(1).toString();
  24. }

如上,我编写了一个简单的测试数据库连接的程序,运行时出现了下面的错误提示:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

在Qt5.2.1中明明已经有MySQL的驱动QMYSQL,为什么还是无法加载呢?

去google了一把,网上大多数是windows下和Qt4.x版本的,还好最终还是解决了,现在稍微记录解决过程下。

//Qt的安装路径

#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/

#ls

libqsqlite.so  libqsqlmysql.so  libqsqlpsql.so

#ldd libqsqlmysql.so
这里就会发现:

libmysqlclient_r.so.16 =>not found

怎么解决呢?

//mysql 安装库路径

#cd /usr/lib/mysql/

#ls

INFO_BIN              libmysqlclient.so.18          mysqlbug
INFO_SRC              libmysqlclient.so.18.0.0      mysql_config
libmysqlclient.so.18.0.0.bak  plugin

#cplibmysqlclient.so.18.0.0 libmysqlclient_r.so.16

#mvlibmysqlclient_r.so.16 /lib/

#cd /opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers/

#ldd libqsqlmysql.so

看看libmysqlclient_r.so.16是否还是not found

如果出现

libmysqlclient_r.so.16 => /lib/libmysqlclient_r.so.16

则说明已经成功了。如果还不行,再试着创建一软连接看看,

# pwd

/opt/Qt5.2.1/5.2.1/gcc/plugins/sqldrivers
#ln -s /lib/libmysqlclient_r.so.16 ./libmysqlclient_r.so.16

Good luck !

fedora 18~20 中Qt 5.2.1 解决连接mysql数据库出现QMYSQL driver not loaded的问题的更多相关文章

  1. Qt连接mysql数据库遇到QMYSQL driver not loaded

    本文件向各位博友分享一下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的方法,希望对遇到同样问题的博友有所帮助. 工程运行环境:vs2015+Qt5.8 在开发过程中,编写数据库连接函 ...

  2. Qt 无法连接mysql数据库的问题

    错误信息: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL ...

  3. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  4. Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)

    Delphi IDE中包含一个Data Explorer的组件,如下图所示: 该组件基于dbExpress(包含TSQLConnection.TSQLDataSet.TSQLQuery.TSQLSto ...

  5. Eclipse中利用JSP把mysql-connector-java-8.0.13.jar放到WebContent\WEB-INF\lib中连接MySQL数据库时Connection conn = DriverManager.getConnection(url,username,password)报错的解决办法

    开发环境: 1.系统:windows 7/8/10均可 2.jdk:1.8.0_144 3.服务器:apache-tomcat-9.0.8 4.IDE:eclipse+jsp 0.网页代码如下: &l ...

  6. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

    1.安装所需软件 ①安装java和tomcat,建立JSP网页最基础的软件②安装MySQL数据库(下载地址:https://www.mysql.com/)③安装Navicat Premium来查看数据 ...

  7. Odoo中连接mysql数据库

    how to integrate Odoo with MySQL - Stack Overflowhttps://stackoverflow.com/questions/31959919/how-to ...

  8. jmeter中通过jdbc方式连接mysql数据库的配置参考

    jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...

  9. Qt 连接MySQL数据库(很多相关文章)

    今天想试试Qt如何连接数据库的. 谁知怎么写完了提示driver not loaded我就郁闷了. 我自己是 VS2010 + Qt4.8.4 + MySQL5.1 的环境 网上查到是 C:\Qt\4 ...

随机推荐

  1. leetcode-12双周赛-1244-力扣排行榜

    题目描述: class Leaderboard: def __init__(self): self.map = collections.Counter() def addScore(self, pla ...

  2. Database - 数据库事务ACID

    总结 事务管理(ACID),谈到事务一般都是以下四点: 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生.一致性(Consistency)事务前 ...

  3. “二维数组”?

    首先说明C中是不存在所谓的"多维数组"的. int array[a][b]:声明的是一个有a个元素的数组,每个数组元素是一个含b个元素的数组. 上述声明正确的说法是,数组的数组. ...

  4. Vivado利用IP自带的示例工程和仿真

    有时候想查看IP的特性和功能,又不想自己写testbench,Vivado自带的IP示例工程就能派上用场,原来一直不知道怎么打开IP的示例工程 第一步:在原有的工程中新建IP,按照你想要的IP属性,例 ...

  5. 运行go代码

    go运行go代码 现在,让我们通过创建一个简单的示例,开启我们的go学习旅程,并学习如何编译和执行go程序.打开你最喜欢的文本编辑器,输入以下代码: package main func main() ...

  6. javascript基础总结之实例(二)

    div的显示和隐藏 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  7. Yii2 Composer

    首先你必须得在本机配置token账号,里边涉及到一些git的用法,git的托管等等,具体方法如下: http://www.cnblogs.com/fnng/archive/2011/08/25/215 ...

  8. A*寻路算法C++简单实现

    搜索区域    如图所示简易地图, 其中绿色方块的是起点 (用 A 表示), 中间蓝色的是障碍物, 红色的方块 (用 B 表示) 是目的地. 为了可以用一个二维数组来表示地图, 我们将地图划分成一个个 ...

  9. LYOI2018 Hzy's Planets

    题目描述: 删掉一个边,看其是否联通,图是一棵树,在线,多组询问. 数据范围: \(n \leq 10^5\) 题解: (休闲一下) 这种直接用dfs序即可,直接讨论连边的位置就行. 还有一种做法懒得 ...

  10. c go数据类型对应关系

    DataType C cgo sizeof--------------------+--------------------+------------------------------------- ...