我的程序用QT5.2编写并使用mysql.我听说QT5.2已经包含了MYSQL驱动程序.但是,当我编译并运行我的程序时,它已成功编译但运行失败并出现错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Run Code Online (Sandbox Code Playgroud)
我的程序是这样的:
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("tradingsystem");
db.setUserName("root");
db.setPassword("");
if(!db.open())
{
//.....;
}
Run Code Online (Sandbox Code Playgroud)
在.pro我添加:
QT += sql
Run Code Online (Sandbox Code Playgroud)
Mysql由XAMPP提供.我的操作系统是win7-x64-sp1-ultimate,而XAMPP版本1.8.2.System Path如下:
C:\Program Files (x86)\SepanderSoft;
C:\Program Files (x86)\Intel\iCLS Client\;
C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files\Intel\WiFi\bin\;
C:\Program Files\Common Files\Intel\WirelessCommon\;
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;
C:\Program Files\Microsoft\Web Platform Installer\;
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;
C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
D:\Software\MySQL\MySQL Enterprise Backup 3.8.2\
Run Code Online (Sandbox Code Playgroud)
XAMPP的位置是:
D:\XAMPP
Run Code Online (Sandbox Code Playgroud)
QT位置是:
D:\Software\Qt
Run Code Online (Sandbox Code Playgroud)
我在D:\ Software\MySQL中安装了mysql server-5.6-64bit,当它与XAMPP中的mysql冲突时,我卸载了mysql server-5.6-64bit.
我遇到了同样的问题,甚至"HồSĩSơn"的解决方案都没有用.然后我发现我已经安装了64位版本的MySQL并且正在尝试使用32位版本的Qt.
从以下位置复制dll不起作用:
C:\Program Files\MySQL\MySQL Connector.C 6.1\lib\libmysql.dll
Run Code Online (Sandbox Code Playgroud)
而是从以下位置下载32位版本的libmysql.dll:
https://dev.mysql.com/downloads/connector/c/
并将其复制到您的mingw文件夹.
在我的情况下,我不得不将DLL复制到msvc2010文件夹,因为我使用的是Visual Studio编译器:
C:\Qt\5.4\msvc2010_opengl\bin
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.:)