Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибки при работе с БД IB55 во время работы отладчика Delphi [D7, IB5.x]


jenya_d ©   (2004-01-20 09:49:00) 

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

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

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

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


Desdechado   (2004-01-21 12:28:00) [1]

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


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

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

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


Desdechado   (2004-01-20 15:28:00) [3]

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


Johnmen   (2004-01-20 15:18:00) [4]

>jenya_d (20.01.04 15:12)

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


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

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

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


Johnmen   (2004-01-20 14:42:00) [6]

>jenya_d

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


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

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


Johnmen   (2004-01-20 12:30:00) [8]

>jenya_d (20.01.04 12:22)

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


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

>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 11:56:00) [10]

>jenya_d (20.01.04 11:51)

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


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

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

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


Johnmen   (2004-01-20 10:19:00) [12]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо