Russian Qt Forum
Ноябрь 23, 2024, 04:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: медленно работает программа при подключении к удаленному серверу  (Прочитано 5117 раз)
smilik
Гость
« : Февраль 19, 2015, 10:13 »

Доброго времени cуток!
Может быть вы подскажите в чем может быть проблема
Имеется Microsoft SQL Server 2005 и прога-клиент, написанная на Qt.
При подключении на локальный сервер, установленный на данном компьютере прога летает, а когда подключаешься к серверу по сети прога ужасно тормозит. В чем может быть проблема???
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Февраль 19, 2015, 10:16 »

Без кода сложно сказать будет в чем проблема Улыбающийся
Записан

smilik
Гость
« Ответ #2 : Февраль 19, 2015, 11:43 »

Код
C++ (Qt)
#include <QtCore/QDebug>
#include <QtCore/QVariant>
#include <QSqlQuery>
#include <QSqlDatabase>
#include <QDateTime>
 
#include "qdbftable.h"
#include "qdbfrecord.h"
#include "qdbffield.h"
 
 
int main(int argc, char *argv[])
{
   QCoreApplication a(argc, argv);
 
   QSqlDatabase db;
   db = QSqlDatabase::addDatabase("QODBC");
   db.setDatabaseName("DRIVER={SQL Server Native Client 10.0};SERVER=SRVSQL1;Database=smeta;Trusted_Connection=Yes;");
   db.open();
 
   QSqlQuery q;
   q.exec("select Code, Name, Cat, Level, Price, DATEBEG, DATEEND from P06");
 
   qDebug() << QDateTime::currentDateTime().toString("hh:mm:ss");
 
   QDbf::QDbfTable table;
 
   if (!table.open("C:/DBF/P06.dbf", QDbf::QDbfTable::ReadWrite)) {
       qDebug() << "file open error";
       return a.exec();
   }
 
   table.setCodepage(QDbf::QDbfTable::IBM866);
   while(q.next())
   {
       QDbf::QDbfRecord rec = table.record();
 
 
       rec.setValue(0, q.value(0));
       rec.setValue(1, q.value(1));
       rec.setValue(2, q.value(2));
       rec.setValue(3, q.value(3));
       rec.setValue(4, q.value(4));
       rec.setValue(5, q.value(5));
       rec.setValue(6, q.value(6));
 
       table.addRecord(rec);
   }
 
   table.close();
 
   qDebug() << QDateTime::currentDateTime().toString("hh:mm:ss");
 
   db.close();
 
   qDebug() << "End...";
 
   return a.exec();
}
 

Вот код записи таблицы P06 в dbf, там порядка 170.000 записей ... когда запускаешь у себя на сервере выгружается меньше чем за 1 минуту,
а через удаленный сервер - 40 минут  Грустный
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 19, 2015, 11:45 »

Сетка тормозит, скорее всего.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Февраль 19, 2015, 11:49 »

В свое время приходилось работать dbf базой. Сначала написал свою реализацию чтения этого формата файла, но потом захотелось sql и я сделал все удобнее и проще - написал прогу, которая перегоняла данные в Postgres и уже с ним работал. Было достаточно удобно.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
smilik
Гость
« Ответ #5 : Февраль 24, 2015, 10:22 »

Решилось добавление свойства setForwardOnly(true) ... Стала выгружаться за 20 сек по сети)))
И вот такой тогда вопрос, как же быть с QSqlQueryModel или QSqlTableModel??Там такое свойство не поставишь... У меня при отображении данных по сети также притормаживает(
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #6 : Февраль 24, 2015, 19:24 »

медленно работает программа..

почему никто не предложил воспользоваться профайлером?
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 22.