MacOS10.15中Qt通过actual odbc连接sqlserver无法获取select数据

1. 使用odbc manager配置好dsn。

2. 通过odbc访问数据库

    dbc = new QSqlDatabase(QSqlDatabase::addDatabase("QODBC"));

    dbc->setDatabaseName("testsqlserver");
    dbc->setUserName("sa");
    dbc->setPassword("test@123");

    if(dbc->open()){
        cout << "连接成功!";
    } else{
        cout << dbc->lastError();
        cout << "连接失败! ";
    }

    //查询数据库
    query = new QSqlQuery(*dbc);
    query->exec("SELECT * FROM dbo.t1;");
    query->first();
    cout << query->value(0).toString();
    cout << query->lastError();

3. 返回结果

--->  连接成功!
QSqlQuery::value: not positioned on a valid record
--->  ""  //这个是返回值 --!
--->  QSqlError("0", "QODBC3: Unable to fetch first", "[iODBC][Driver Manager]Optional feature not implemented")

 

使用其它工具通过odbc访问是正常的,并且在windos中也是可以正常访问的。

所以,是哪儿出了问题?是qt对mac的支持问题吗?

我也遇到这样的问题,解决了吗?