Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

зависание при вставке записи в базу   Найти похожие ветки 

 
pavel_guzhanov ©   (2007-05-03 16:46) [0]

Интересную картину наблюдаю при работе программы. Вот это
   IBQRef.Close;
   IBQRef.Params[0].Value:=Filial_no;
   IBQRef.Params[1].Value:=IBDSFil.FieldByName("MEMB_ID").Value;
   IBQRef.Params[2].Value:=IBDSFil.FieldByName("FIO").AsString;
   IBQRef.Params[3].Value:=IBDSFil.FieldByName("CARD_SER").AsString;
   IBQRef.Params[4].Value:=IBDSFil.FieldByName("Card_no").Value;
   IBQRef.Params[5].Value:=IBDSFil.FieldByName("ACCN_NAME").AsString;
   IBQRef.Params[6].Value:=Passwrd;
   IBQRef.ExecSQL;
   IBDSFil.Next;

на строке IBQRef.ExecSQL;
программа иногда повисает надолго, но потом продолжает выполняться. Если я ставлю брекпоинт на любой строке приведенного кода, то, после отвисания, курсор переходит на брекпоинт (т.к. цикл). После остановки на брекпоинте нажимаю F9, мгновенно пролетает цикл и возвращается опять на брекпоинт. Можно просто нажать F9 не отпуская и цикл бегает без остановки. Но стоит убрать брекпоинт, и нажать F9, так опять зависание. Ставлю брекпоинт снова, на любой строке. После отвисания стопроится (через заметное время, иногда несколько минут) на брекпоинте и по F9 снова работает без задержек. От чего такое может быть и как с этим бороться?


 
pavel_guzhanov ©   (2007-05-03 16:49) [1]

извиняюсь, пропустил, что приведенный код работает в цикле


 
Desdechado ©   (2007-05-03 17:16) [2]

sweep_interval какой у БД стоит?
Читать ibase.ru на его предмет.


 
pavel_guzhanov ©   (2007-05-04 09:11) [3]

Sweep_interval=20000


 
ЮЮ ©   (2007-05-04 09:23) [4]

> После отвисания стопроится (через заметное время, иногда
> несколько минут) на брекпоинте и по F9 снова работает без
> задержек


В первоначальном варианте этот код стоял внутри if then end, так что по обрывку кода сказать нечего - может он просто в другом цикле бегает, потому и не останавливается.


> иногда несколько минут


Вот здесь и сделай паузу и посмотри где реально в коде идет выполнение. Для "захода" во внутренности VCL включи "Use Debug DCUs"


 
pavel_guzhanov ©   (2007-05-04 09:35) [5]


> В первоначальном варианте этот код стоял внутри if then
> end

Внутри IF THEN была проверка на повторные записи. Сейчас я эту проверку сделал в процедуре вставки, как мне и посоветовали. Что саме интересное, этот код я делал на ноутбуке, там все бегало на ура (база располагается локально на том же ноутбуке). А вот когда я перенес код на свой рабочий комп (теперь база располагается локально на этом компе) - начались вот такие тормоза.


> sweep_interval какой у БД стоит?
> Читать ibase.ru на его предмет.


Почитал про sweep_interval. в факах на ibase.ru. Попробовал сделать его равным 0, потом 100000. Картина не изменилась.


> Вот здесь и сделай паузу и посмотри где реально в коде идет
> выполнение


Щас попробую


 
pavel_guzhanov ©   (2007-05-04 09:46) [6]


> Вот здесь и сделай паузу и посмотри где реально в коде идет
> выполнение


Нажал паузу... а как попасть в код? Кнопки F7, F8, F9 неактивны....


 
ЮЮ ©   (2007-05-04 09:55) [7]

> Кнопки F7, F8, F9 неактивны....

Обычно активны. Значит "висит" исполнение на сервере. Посмотри View>Debud Windows>Call Stack, если  "Use Debug DCUs" уже включил


 
pavel_guzhanov ©   (2007-05-04 10:10) [8]


> Посмотри View>Debud Windows>Call Stack

посмотрел. Там сообщение "Process is not accessible" Потом, видимо когда отвис процесс на сервере, появилось окно CPU, а сообщение пропало


 
pavel_guzhanov ©   (2007-05-04 11:05) [9]

Вообще непонятно.. вернул все на ноутбук, все работает отлично.... мож мне на моем рабочем компе стоит переустановить FireBird?


 
pavel_guzhanov ©   (2007-05-04 11:18) [10]

переустановил... не помогло...


 
Правильный Вася   (2007-05-04 12:04) [11]

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


 
pavel_guzhanov ©   (2007-05-04 13:17) [12]


> у тя траффик антивиремне проверяется?

Не, не проверяется. у меня ноут и рабочий комп находятся в одной корпоративной сети, с одинаковым антивирем и с одинаковыми настройками антивиря....



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
2-1177920614
Regent
2007-04-30 12:10
2007.05.20
ПЕРЕВЕСТИ Дробное число в строку.


15-1177185222
alex-drob
2007-04-21 23:53
2007.05.20
Пропадают файлы с винчестера


2-1177622294
SerJaNT
2007-04-27 01:18
2007.05.20
Сохранить в csv


11-1159527274
Юрий Шабанов
2006-09-29 14:54
2007.05.20
Delphi with KOL only.


1-1174552782
Cooller
2007-03-22 11:39
2007.05.20
try finally end