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

Вниз

Ошибки при работе с БД IB55 во время работы отладчика Delphi   Найти похожие ветки 

 
jenya_d   (2004-01-20 09:49) [0]

Доброго времени суток профи!!!

Подскажите пожалуйста как можно решить проблему работы с БД IB55 во время отладки программы в Dеlphi7? Сама БД просматривается в IBExpert 2.0 и при просмотре не выдает только что добавленные данные, не показывает что данные удалены (после только что выполненного запроса на удаление) и зависает (то же самое и в SQL Explorer).

Конфигурация: P4 2.6C (HT выключен) ОЗУ-256Мб, ОС WinXP SP1 (eng) + MUI (восстановление файлов GDB выключено), IB 5.5, Delphi 7 Enterprise

Заранее благодарен.


 
jenya_d   (2004-01-20 10:11) [1]

Неужели никто не сталкивался с иакой проблемой???


 
Johnmen ©   (2004-01-20 10:19) [2]

Проблема не очень видна...
То, что не видно - так это транзакция не подтверждена/откачена.
А то, что зависает, так непонятно, про что речь...


 
jenya_d   (2004-01-20 11:51) [3]

>Johnmen © (20.01.04 10:19)
>То, что не видно - так это транзакция не подтверждена/откачена
дело в том что транзакцию я подтверждаю а все равно не видно

>А то, что зависает, так непонятно, про что речь...
а зависает как только пытаюсь перечитать таблицу или просмотреть другую, при этом программа которую я отлаживаю в пошаговом режиме обращается к тойже БД что открыта в IBExpert и эта БД в момент просмотра открыта в программе. Раньше все прекрасно работало на Cel1000-256Мб-Win2000 Prof SP4 rus


 
Johnmen ©   (2004-01-20 11:56) [4]

>jenya_d (20.01.04 11:51)

1. Где подтверждаешь ?
2. Так виснет что ? IBExpert или твоя программа ?
3. Если раньше работало, то, стандартно, надо "всмомнить всё" :), что было в промежутке между "раб." "не раб."


 
jenya_d   (2004-01-20 12:22) [5]

>Johnmen © (20.01.04 11:56)
1.Подтверждаю в IBExpert кновкой "Подтвердить транзакцию" в панели инструментов SQL Editor
2.Виснет IBExpert (или SQL Explorer если использую его), а программа нормально отлаживается и работает
3.По поводу "вспомнить все": в промежутке была замена старого компа на новый с переустановкой всего: замена операционки с Win2000 на XP, замена проца с Cel1000 на P4-2.6С с многопоточностью, память с DIMM на DDR400

P.S. по началу все тормозило но работало, потом я нашел статейку на ibase по поводу тормозов в XP и все исправил - заработало. Но как только столкнулся с отладкой программы когда данные добавлялись/удалялись во время отладки программой, то тут началось непонятное поведение IBExpert и SQL Explorer


 
Johnmen ©   (2004-01-20 12:30) [6]

>jenya_d (20.01.04 12:22)

1. Чтобы IBEx видел, что изменяется программой, надо в программе закрывать транзакцию.
2. После каких действий виснет IBEx ?


 
jenya_d   (2004-01-20 14:35) [7]

>Johnmen © (20.01.04 12:30)
1.В программе транзакция закрывается в компоненте TIBTransaction методом CommitRetaining после этого все равно не выводиться добавленная запись
2.Виснет например в такой ситуации: если в IBEx открыта БД с котрой я работаю в программе и таблица (Table1) с которой я работаю в коде при отладке и во время отладки после открытия БД открыт запрос к этой таблице (Table1) - после переключения в IBEx и переходе на другую закладку в окне открытой таблицы (Table1) IBEx виснет! Но если прервать выполнение программы по Ctrl+F2 IBEx восстанавливает свою работоспособность.


 
Johnmen ©   (2004-01-20 14:42) [8]

>jenya_d

Попробуй после зависания IBEx при отладке выполнить Commit.
Есть подозрение, что IBEx ждет завершения "несвоих" транзакций. Т.е. параметр его тр-ии WAIT.


 
jenya_d   (2004-01-20 15:12) [9]

>Johnmen © (20.01.04 14:42)
Я проверил и после прохождения в коде CommitRetaining IBEx восстанавливает работоспособность, но запись добавленную запросом не видит. А если в IBEx переподсоединиться к БД то он показывает добавленные данные.
Похоже ты прав на счет:
>"Есть подозрение, что IBEx ждет завершения "несвоих" транзакций"

Но вот как заставить его показывать изменения после Commit без переподсоединения к БД? или вообще заставить не виснуть в ожидании Commit?


 
Johnmen ©   (2004-01-20 15:18) [10]

>jenya_d (20.01.04 15:12)

1. Чтобы увидел, сделай коммит в IBEx.
2. Покопайся в настройках IBEx. Там это есть...


 
Desdechado ©   (2004-01-20 15:28) [11]

а вот у меня есть подозрение, что соединение по локальному протоколу в обоих программах, а это чревато ...


 
jenya_d   (2004-01-20 15:38) [12]

>Johnmen © (20.01.04 15:18)
1.Commit делал но ничего не видит
2.В настройка транзакций IBEx стоит Read Committed

>Desdechado © (20.01.04 15:28)
действительно по локальному протоколу, а чем чревато?


 
Desdechado ©   (2004-01-21 12:28) [13]

вот именно описанным в начале поведением - повисанием, недопоказом и проч.
Это связано с тем, что при лок. подключении IB считает, что оно одно, и работает с буфером на диске. При более чем одном подключении в буфере будет каша, ибо он один на всех тогда



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

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

Наверх




Память: 0.5 MB
Время: 0.033 c
1-38809
Max_Ivanych
2004-02-03 11:09
2004.02.13
Проблема с Excel. Открываю и закрываю так:


1-38824
Cheat
2004-02-03 00:25
2004.02.13
Не могу разобраться с графиками


14-38996
Knight
2004-01-13 21:52
2004.02.13
Когда же мелкософт, наконец ,это исправит?


1-38790
AndrewK
2004-02-03 12:59
2004.02.13
Просмотр в WebBrowser е html-строки


14-39027
syte_ser78
2004-01-25 12:33
2004.02.13
Дешевые диски почтой