mysql - 部署在另一台计算机上时,应用程序未连接到数据库

标签 mysql database qt connect

我构建了一个qt应用程序,该应用程序使用mysql连接和查询数据库。在我的开发计算机(上面装有Qt Creator的计算机)上,它工作得很好。但是当我使用windeployqt.exe部署它并在另一台计算机上运行时,由于某种奇怪的原因,它没有连接到数据库。

请注意,我在另一台计算机(连接数据库失败的计算机)上确实有一个正常工作的数据库(还有mysql)

我不确定该怎么做,我尝试使用addLibraryPaths,但是它不起作用(我不确定我是否正确执行了操作)。

我在用着 :


MySQL服务器5.5.36
工作台6.0
Qt Creator 5.4.0


我还尝试研究静态构建我的应用程序,但是我不了解这样做的过程。

如果您有Qt神能帮助您,我将不胜感激。

最佳答案

我终于找到了问题并解决了。

问题:由于某种原因,目标计算机无法识别或读取C:\ Windows中的libmysql.dll,并且由于@Marco,我使用db.LastError并让我的应用程序显示错误,这是“驱动程序未加载驱动程序未加载”这意味着libmysql.dll出了问题(请注意,我从目标计算机上安装的MySql文件夹复制了该dll)

解决方案:我必须从开发计算机上复制libmysql.dll并将其放在目标计算机上的C:\ Windows中(我注意到目标计算机上的libmysql.dll的大小小于我在开发计算机上使用的libmysql.dll的大小)
由于某些原因,该程序仅在目标计算机的C:\ Windows中存在来自开发计算机的libmysql.dll时才运行

此解决方案应修复任何“未加载驱动程序”或“ QMySQL未加载驱动程序”(等)错误。谢谢大家的帮助,再次感谢@Macro

关于mysql - 部署在另一台计算机上时,应用程序未连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29549923/

相关文章:

database - 在 Postgresql 中捕获异常后将错误详细信息返回给调用函数

c++ - 如何使用gnu autotool构建qt项目

mysql - 如何根据给定出生日期和注册日期sql按当前年龄进行计数

此 Oracle 触发器的 MySQL 等效代码

database - 将三元关系映射到关系模型(员工、客户、项目)

c++ - Qt - 如何测试 QTableWidget 项目的文本是否为整数?

c++ - 如何访问 Qtitan View 的滚动条?

mysql - 如何导出数据 View ?

mysql - 在 WHERE 之前应用 DISTINCT

mysql - 获取每月摘要