我遵循了this指令。我使用Qt版本4.7.4,firebird 2.1.5,VisualStudio 2010 Pro。
.dlls(qsqlibase4
和qsqlite4
)和内容出现在应有的位置,即%QtPATH%\plugins\sqldrivers
。
但是当我运行我的简单测试项目时
#include <QApplication>
#include <QtGui>
#include <QtSql>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QComboBox myCombo;
QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
myCombo.addItems(db.drivers());
db.setDatabaseName("c:/databases/employee.fdb");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
if(!db.open())
{
QSqlError er = db.lastError();
QMessageBox::information(0, "Error", er.text());
}
myCombo.show();
return app.exec();
}
我收到一个错误:
QSqlDatabase: QIBASE driver not loaded
QSqlDatabase: available drivers: QSQLITE
我真的很困惑。驱动程序已构建,看起来路径正确,但是为什么这不起作用?
最佳答案
好吧,这有点奇怪,但是对我有帮助!我只是从该dir fbclient.dll
复制了文件Firebird_2_1\bin
,然后将其粘贴到了project.exe win32/Debug
的dir中。
因此,现在QIBASE
可见了!
关于c++ - QIBASE已建立但未找到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19256855/