Главная страница
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.044 c
2-1178202566
Серый
2007-05-03 18:29
2007.05.20
EditKeyPress


15-1177035048
Slider007
2007-04-20 06:10
2007.05.20
С днем рождения ! 20 апреля


15-1177320100
Yanis
2007-04-23 13:21
2007.05.20
Посмеялся :)


1-1174366976
kolius
2007-03-20 08:02
2007.05.20
Цвет в Richedit


4-1166299301
klimov
2006-12-16 23:01
2007.05.20
Достать текс из класса типа Afx:400000:4048:10013:0:0