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

Вниз

Ошибки при работе с БД 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
3-38717
DelphiNew
2004-01-22 10:53
2004.02.13
Индексы


1-38800
Valter
2004-02-02 23:23
2004.02.13
Сравнение ListView


1-38879
td
2004-02-03 19:50
2004.02.13
взаимные ссылки


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


3-38700
Pat
2004-01-25 00:37
2004.02.13
Строка подключения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский