2011-09-19 279 views
1

我使用的是Ubuntu,而且我的Qt离线是从离线安装程序安装的。 当连接到MySQL数据库我有一个错误如何在qt中加载驱动程序?

QSqlDatabase: QMYSQL driver not loaded 
QSqlDatabase: available drivers: QSQLITE QSQLITE2 
QSqlError(-1, "Driver not loaded", "Driver not loaded") 
Failed to connect. 
The program has unexpectedly finished. 

现在我想这个代码

#include <QCoreApplication> 
#include <QSqlDatabase> 
#include <QStringList> 
#include <QtDebug> 

int main(int argc, char **argv) 
{ 
QCoreApplication app(argc, argv); 
qDebug() << QSqlDatabase::drivers(); 
} 

,并得到输出

("QSQLITE", "QSQLITE2") 

再怎么我的Qt连接到MySQL数据库? 我成功连接到sqlite数据库。

+0

有与QT离线安装任何问题,我指的是QT从仓库中安装了将工作fine.is呢? –

+0

来自http://qt.nokia.com/的Qt离线安装程序应该正常工作 – amree

+0

在我的情况下,它无法在ubuntu中加载。 –

回答

1

在ubuntu中有一些脱机installer.you的配置,可以通过从ubuntu repository安装qt轻松地连接到mysql。重要的是,脱机安装程序有1GB大小。但是从Ubuntu存储库下载的软件包的大小更小超过200 MB。

1

你需要阅读这个article。你可能最好使用官方Ubuntu软件包来安装Qt,并且可能还有一个MySQL驱动程序包。我设法在我的Fedora 15系统上安装了Qt Oracle(QOCI)驱动程序,并且有相当数量的工作(我会详细说明,如果你愿意的话),因为在Fedora下没有Qt Oracle软件包,但基本上你正在创建一个共享该对象被安装到$QTDIR/plugins/sqldrivers中。

0

尝试阅读这一步一步的文章:http://www.pikopong.com/blog/2009/07/22/how-to-enable-mysql-support-in-qt-sdk-for-linux/

对于文章的更新版本,你可以阅读:http://www.pikopong.com/blog/2011/07/11/how-to-enable-mysql-support-in-qt-sdk-for-windows-part-2/

即使第二条是针对Windows,它应该给你一些想法如何启用驱动程序。

+0

我找不到MySQL头文件目录.... –

+0

我并非真正熟悉Ubuntu,但我认为您需要安装MySQL源代码来查看头文件。无论是使用包中的还是从MySQL下载。 – amree

1

如果你是Ubuntu的Linux操作系统,可以安装库:

[email protected]: ~$ apt-cache search libqt4-sql-mysql 
libqt4-sql-mysql - Qt 4 MySQL database driver 

[email protected]: ~$ sudo apt-get install libqt4-sql-mysql