我刚刚开发了QT CRUD应用程序。我正在使用SQLite将信息本地存储在运行应用程序的磁盘中。这样我的应用程序工作正常。
但该应用程序缺少一个中央数据库服务器。为此,我开始安装MySql-server和MySql-workbench。我在工作台中导入了我的数据库,并确保服务器正在运行。
现在在Qt上,我写了以下几行来连接我的服务器" localhost"使用端口" 3306"如下:
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName(databaseName);
db.setUserName(userName);
db.setPassword(userPass);
qDebug() << appDataPath;
if (!db.open()){
return db.lastError().text();
}
但是,我在QT&#34;应用程序输出&#34;:
上收到以下错误QSqlDatabase:未加载QMYSQL驱动程序 QSqlDatabase:可用的驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
我尝试确保libmysql.dll
位于&#34; C:\ Program Files \ MySQL \ MySQL Server 5.7 \ lib&#34; ..
我也将它复制到&#34; C:\ Users \ Abubakr \ Documents \ GitHub \ DEBUG \ build-Muwassa-Desktop_Qt_5_4_2_MinGW_32bit2-debug&#34;
但根本不起作用。
请帮助!!
答案 0 :(得分:0)
您需要先自己构建QMYSQL驱动程序。
当你下载Qt时,你也有它提供的来源。
就我而言,它位于:C:\Qt\5.9\Src\qtbase\src\plugins\sqldrivers\mysql
这里有一个* .pro(这是一种makefile生成器)。你只需要用QtCreator打开它,编译它就会得到一个dll。这个dll是MySQL驱动程序,必须与您的应用程序位于同一位置。
要做到这一点,如果你有编译问题(比如找不到mysql.h),你也必须“安装”mysql库。
在Linux中,你也可以遇到同样的问题。