Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.047 c
15-1176796832
TUser
2007-04-17 12:00
2007.05.20
Кому тут нуотбук подешевке?


2-1178002029
Click[Up]
2007-05-01 10:47
2007.05.20
Поиск текст не зависимо от регистра в БД


2-1178192707
webpauk
2007-05-03 15:45
2007.05.20
Передача параметров


15-1176974376
Petr V.Abramov
2007-04-19 13:19
2007.05.20
Полет армейской мысли


2-1177576431
umbra
2007-04-26 12:33
2007.05.20
что содержит строка после SetLength?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский