在Qt中连接到Firebird数据库

时间:2017-12-06 18:35:09

标签: c++ qt firebird qsqldatabase

我有本地数据库,我想连接。 这是我的代码,但不幸的是它没有用。

    QString servername = "SYSDBA@localhost";
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName(servername);     
    db.setDatabaseName("Driver={InterBase ODBC driver};DATABASE=D:\\baza\\BAZA.fdb;");      
    db.setUserName("SYSDBA");
    db.setPassword("masterkey");
    if (db.open())
        qDebug() << "Connected";
    else
        qDebug() << "Nope :(";  

我将不胜感激。

1 个答案:

答案 0 :(得分:1)

我终于明白了。 您必须在Windows中设置ODBC驱动程序: https://kb.brainwaregroup.com/operationsmanager/faces/kb/brainwaregroup%20kb/article/AA-00486

然后,您可以使用Windows管理工具中配置的dsn直接连接它:

QString servername = "localhost";
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName(servername);
db.setDatabaseName("YOUR_DSN_NAME");
db.setUserName("SYSDBA");
db.setPassword("masterkey");