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 可以访问开发机器上的数据库,但不能访问目标机器上的数据库的主要内容,如果未能解决你的问题,请参考以下文章

Qt tablewidget数据录入、保存和访问

Qt音视频开发42-人脸识别客户端

Qt开源作品37-网络中转服务器

widows10 安装1803 版本后不能访问网络上的机器解决方法

数据分析需要掌握哪些知识?

为啥我可以在一个功能中访问我的合同,但不能在另一个功能中访问我的合同