在 Qt 中连接到 Firebird 数据库

Connecting to Firebird database in Qt

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

    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 :(";  

如有任何帮助,我将不胜感激。

我终于明白了。 您必须在 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");