QIBASE已建成但未找到

时间:2013-10-08 19:42:23

标签: c++ visual-studio-2010 qt firebird

我遵循this指令。我使用Qt版本4.7.4,firebird 2.1.5,VisualStudio 2010 Pro。

.dlls(qsqlibase4qsqlite4)和内容会显示在%QtPATH%\plugins\sqldrivers处。

enter image description here

但是当我运行我的简单测试项目时

#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

我真的很困惑。构建驱动程序,看起来路径是正确的,但为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

嗯,这有点奇怪,但它帮助了我!我刚刚从这个目录fbclient.dll制作了文件Firebird_2_1\bin的副本,并使用我的project.exe win32/Debug将其粘贴到目录中。 所以现在QIBASE是可见的!