Qt App 可以访问开发机器上的数据库,但不能访问目标机器上的数据库
Posted
技术标签:
【中文标题】Qt App 可以访问开发机器上的数据库,但不能访问目标机器上的数据库【英文标题】:Qt App is able to access database in development machine but not on target machine 【发布时间】:2015-04-27 10:49:21 【问题描述】:我有这个使用 sqlite 数据库的应用程序。通过访问数据库表中的凭据来登录应用程序。我可以在开发机器上登录,但在目标机器上,我无法登录。我在发布模式下构建了程序。可能是什么问题?
目标机器是 Windows 7,没有调试信息或警告。 这些是我随应用程序提供的文件;
kernel32.dlllibgcc_s_dw2-1.dlllibstdc++-6.dlllibwinpthread -1.dllmsvcrt.dllQtCore4.dll QtGui4.dllQtSql4.dllthe_database_file.dbuser32.dll
【问题讨论】:
是否有任何调试信息 - 比如一些错误消息?你如何在目标机器上部署?什么操作系统主机/目标?你提供的信息很少.. 我已经更新了我的问题。该程序在目标机器上运行,但我无法登录。 是sqldrivers
子目录下的sql dll吗?我不确定 qt4 是否也需要这样做,但它经常被遗忘,并且在开发机器上并不总是必要的,因为 qt 在自己的路径中找到它
带有 DB 的 .sqlite
文件在哪里?你是如何在代码中写到它的路径的?
为什么会包含user32.dll等?我的鼻子告诉我一些事情是负责任的。
【参考方案1】:
在您的可执行目录中创建一个名为 sqldrivers 的文件夹,并将 sqlite 驱动程序插件添加到其中。我认为应该是;qsqlite4.dll 您会在 Qt\4.whatever\plugins\sqldrivers 中找到驱动程序插件 您现在应该能够登录或访问目标机器上的 sqlite 数据库。我认为 Bowdzone 试图说同样的话。
【讨论】:
以上是关于Qt App 可以访问开发机器上的数据库,但不能访问目标机器上的数据库的主要内容,如果未能解决你的问题,请参考以下文章