0

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

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

我将不胜感激任何帮助。

4

1 回答 1

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");
于 2017-12-06T22:00:05.457 回答