【问题标题】:Qt App is able to access database in development machine but not on target machineQt App 可以访问开发机器上的数据库,但不能访问目标机器上的数据库
【发布时间】:2015-04-27 10:49:21
【问题描述】:

我有这个使用 sqlite 数据库的应用程序。通过访问数据库表中的凭据来登录应用程序。我可以在开发机器上登录,但在目标机器上,我无法登录。我在发布模式下构建了程序。可能是什么问题?

目标机器是 Windows 7,没有调试信息或警告。 这些是我随应用程序提供的文件;

kernel32.dll
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread -1.dll
msvcrt.dll
QtCore4.dll QtGui4.dll
QtSql4.dll
the_database_file.db
user32.dll

【问题讨论】:

  • 是否有任何调试信息 - 比如一些错误消息?你如何在目标机器上部署?什么操作系统主机/目标?你提供的信息很少..
  • 我已经更新了我的问题。该程序在目标机器上运行,但我无法登录。
  • sqldrivers子目录下的sql dll吗?我不确定 qt4 是否也需要这样做,但它经常被遗忘,并且在开发机器上并不总是必要的,因为 qt 在自己的路径中找到它
  • 带有 DB 的 .sqlite 文件在哪里?你是如何在代码中写到它的路径的?
  • 为什么会包含user32.dll等?我的鼻子告诉我一些事情是负责任的。

标签: windows qt sqlite qt4


【解决方案1】:

在您的可执行目录中创建一个名为 sqldrivers 的文件夹,并将 sqlite 驱动程序插件添加到其中。我认为应该是;
qsqlite4.dll 您会在 Qt\4.whatever\plugins\sqldrivers 中找到驱动程序插件 您现在应该能够登录或访问目标机器上的 sqlite 数据库。我认为 Bowdzone 试图说同样的话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-28
    • 2017-11-30
    • 2011-11-22
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    相关资源
    最近更新 更多