![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибки при работе с БД 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]
Неужели никто не сталкивался с иакой проблемой???