首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt:从远程数据库传输数据时的低速

Qt:从远程数据库传输数据时的低速
EN

Stack Overflow用户
提问于 2016-03-15 09:39:27
回答 1查看 147关注 0票数 1

我在Windows7上使用Windows7。

我正在编写一个Qt应用程序,以取代一个旧的C#应用程序(写在7-8年前)。目标是连接和传输来自某些远程数据库的数据。远程DB服务器是MS SQL Server 2000。

我已经开始运行应用程序了,但是我注意到与旧的C#应用程序相比,数据传输需要更多的时间.

所以,我只是想知道是什么原因导致了如此低的数据传输率?

也许我忘了什么,也许我做错了什么.

下面是我用来连接远程数据库的代码:

代码语言:javascript
复制
void RemoteDB::openConnection(const QString & serverIP, const QString & dbName)
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

    db.setDatabaseName(QString("DRIVER={SQL Server};SERVER=%1;DATABASE=%2;").arg(serverIP).arg(dbName));
    db.open("user", "password");
}   

查询代码:

代码语言:javascript
复制
SqlRecord record;
QSqlQuery query(QSqlDatabase::database());
if(query.exec("SELECT * FROM VehicleStatus") == true)
{
    while(query.next() == true)
    {
        record.Vehicle    = query.value("Vehicle").toInt();
        record.Status     = query.value("Status").toInt();
        record.AppVersion = query.value("AppVersion").toString();
        record.DateTime   = query.value("DateTime").toString();
        ...
    }
}

帮帮忙,知道吗?

耽误您时间,实在对不起!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 13:52:36

除了裁剪fat (即只选择您需要的字段而不是*)之外,检查是否使用了最佳的ODBC驱动程序。

Server有一个可以安装和使用的"ODBC Server本机客户端“,它应该比默认ODBC驱动程序更快。它可能已经安装在您的PC上,但没有为您的数据源选择,或者您可以尝试从一些尘土飞扬的SQL Server 2000 DVD中安装它(或者它当时是CD吗?)或者-不是开玩笑-软盘?),或者来自最近的Server版本。YMMV

不确定C#,但C#应用程序可能可以访问不需要ODBC的快速驱动程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36007496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档