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

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

Востановление работы после обрава соединения(IBX) [D5, firebird 1]


Stanly ©   (2003-07-18 10:40:00) 

Кто-нибуть сталкивался с такой проблемой, что при первом вызове IBDataset.Open() после подсоединения к новой базе после обрыва соединения со старой, IBDataset ничего не возвращает. После повторного вызова IBDataset.Open() все нормально все поля заполнены.


Johnmen   (2003-07-18 13:40:00) [1]

В BeforeConnect для IBDatabase пропиши IBDataSet.Close


Stanly   (2003-07-18 13:30:00) [2]

Когда про вызовы писал перепутал IBDatabase c IBDataset, мда неувязочка вышла. Так что методы Close и Open я для IBDataset вызываю :-) А IBDatabase к этому моменту уже подключен к резервной базе.


Johnmen   (2003-07-18 12:07:00) [3]

>..., он при первом вызове IBDatabase.Open() компонент ничего невозвращает,...

А почему он должен что-то возвращать, если неактивен ?
Или же он у тебя активизируется после установки соединения ?
Смотри, как у тебя прописаны события Open, Close для IBDatabase...


Stanly   (2003-07-18 11:36:00) [4]

Есть программа, которая держит открытым соединение с базой, т.е. что читает или пишит в нее. Может получиться так что сервер может отвалиться от сети. При этом программа принудительно закрывает отвалившееся соединение так IBDatabase.ForceClose();
Прибивает все транзакции. Далее прога коннектитса к резервной базе, с помощью того же IBDatabase. Проблема в том что после такого востановления IBDataset востанавливается как-то не правильно, он при первом вызове IBDatabase.Open() компонент ничего невозвращает, это хорошо видно по пустому DBGrid. но при тутже повторном вызове, т.е. IBDatabase.Close(); IBDatabase.Open;
DBGrid заполняется.
Как победить эту ошибку или в какую сторону копать?


Johnmen   (2003-07-18 11:22:00) [5]

Теперь медленно и конкретно...


Наверх

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