gpt4 book ai didi

sql-server - Qt:从远程数据库传输数据时速度低

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:07 24 4
gpt4 key购买 nike

我在 Windows7 上使用 Qt5。
我正在编写一个 Qt 应用程序来替换旧的 C# 应用程序(7-8 年前编写)。目标是从一些远程数据库连接和传输数据。远程数据库服务器是 MS SQL Server 2000。
我已经运行了该应用程序,但我注意到与旧的 C# 应用程序相比,数据传输需要更多时间...
所以,我只是想知道是什么导致了如此低的数据传输速率?
也许我忘记了什么或者我做错了什么......
这是我用来连接到远程数据库的代码:

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");
}

查询代码:

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();
...
}
}

请帮忙,有什么想法吗?
感谢您的宝贵时间!

最佳答案

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

SQL Server 有一个可以安装和使用的“ODBC SQL Server Native Client”,它应该比默认的 ODBC 驱动程序更快。它可能已经安装在您的 PC 上,但没有选择作为您的数据源,或者您可以尝试从一些布满灰尘的 SQL Server 2000 DVD(或者当时是 CD?或者 - 不是开玩笑 - 软盘 ?), 或 from a more recent SQL Server version . YMMV.

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

关于sql-server - Qt:从远程数据库传输数据时速度低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com