QT 生成的 exe 无法连接到 PostrgreSQL 数据库
QT´s generated exe cannot connect to PostrgreSQL Database
我正在QT 5.4中开发一个连接到Postrgre数据库的应用程序。在QT Creator内部以发布模式运行应用程序时,连接工作正常。然而,当我添加.exe的依赖项并打开它时,我总是会收到一个连接错误。我将QT5Sql.dll添加到发布目录中,并根据dependencywalker添加了所有其他需要的依赖项。
有人能告诉我我做错了什么吗?
ui->setupUi(this);
finishedGame = false;
ui->detener->setVisible(false);
ui->labelEnCurso->setVisible(false);
db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("localhost");
db.setDatabaseName("MYDB");
db.setUserName("USER");
db.setPassword("PASS");
bool ok = db.open();
if(!ok){
QMessageBox msgBox;
msgBox.setText("Connection ERROR");
msgBox.exec();
}
更新
我用DebugView检查了.exe,这是我得到的错误:
[10876] QSqlDatabase: QPSQL driver not loaded
[10876] QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
我的发布文件夹中有libpq.dll和qsqlpsql.dll,但由于某种原因,该应用程序无法加载适当的驱动程序,尽管它说它可用。
我让它工作起来了。以防有人遇到同样的问题。我通过将PostgreSQL安装目录中bin文件夹的所有内容添加到QT项目的发布文件夹中来解决这个问题。
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 无法在windows上使用mingw将sqlite3与c连接
- 到连接组件算法的问题(递归)
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- 无法在C++中建立与MySQL数据库的连接
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- 使用 bfs 解决连接组件问题时得到错误的答案
- 在C++的两个字符串中连接以逗号分隔的唯一值
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- OSX蓝牙打开RFCOMMChannelAsync声称已连接,但未建立连接,并且从未调用过委托
- 在 libcurl 连接池中预创建连接
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- libcurl 和 DNS ttl 中的内部连接管理
- 如何应用 libcurl 的持久连接选项
- 提升 ASIO - io_service 不要等待连接到线程
- WinSock2:connect() 提供"连接被拒绝"
- 升压信号2将插槽传递到成员功能以断开连接