Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Внизwindows2000 и транзакции Найти похожие ветки
← →
Belkova (2003-05-30 20:51) [0]Мастера Delphi! Подскажите в чем дело? приложение написано под Windiws98, когда установили windows2000 перестали запускаться транзакции, т.е. они запускаются, но всегда Rollback.
← →
Sergey Masloff (2003-05-30 20:59) [1]Belkova
>перестали запускаться транзакции, т.е. они запускаются,
отличная фраза. Но штатные телепаты все в отпуске а простые смертные из вашего поста ничего не поняли
← →
Belkova (2003-05-30 21:05) [2]Выход из транзакции всегда по Rollback, хотя причин для отката вроде бы нет. Выполняю то же самое на другой машине, где стоит Windows98 все работает
← →
Zacho (2003-05-30 21:22) [3]
> Belkova (30.05.03 21:05)
Не бывает такого. Транзакциями управляет клиент. Нет никакого "выхода из транзакции". Клиент может сделать либо Commit, либо Rollback. Сама по себе транзакция откатится не может, разве что в результате какого-либо сбоя, например, обрыва соединения.
Приложение делает commit ? Что при этом происходит ?
← →
Suntechnic (2003-05-30 21:24) [4]Belkova (30.05.03 21:05)
Выход из транзакции всегда по Rollback...
Было бы странно, если бы работало по другому.
← →
Belkova (2003-05-30 21:29) [5]Zacho © (30.05.03 21:22)
приложение commit не делает.
← →
Zacho (2003-05-30 21:35) [6]
> Belkova (30.05.03 21:29)
А должно. Некоторые компоненты доступа к БД сами могут управлять транзакциями неявно, отсюда и возникают подобные проблемы. Во избежание их - надо или явно управлять транзакциями, или хорошо знать механизм работы этих компонент.
Какие компоненты доступа ?
← →
Belkova (2003-05-30 21:44) [7]IBQuery, IBStoredProc
А вообще выглядит примерно так
IBTransaction.StartTransaction
try
вызовы ХП
IBTransaction.commit
except
IBTransaction.Rollback
← →
Dred2k (2003-05-30 22:03) [8]Версия очевидна: except без явной обработки.
Тихо выполняется rollback.
Или код будет более подробным?
← →
Belkova (2003-05-30 22:06) [9]В except код такой и есть без явной обработки, если не сложно, то как нужно обработать и почему все-таки под windows98 никаких проблем не возникает?
← →
Zacho (2003-05-30 22:10) [10]
> Belkova (30.05.03 21:44)
А как согласуется "приложение commit не делает" c "IBTransaction.commit" ?
А вообще, трудно что-либо сказать. Откуда понятно, что происходит rollback ? Возникает exception ? Если да, то какое сообщение об ошибке ?
Возможно, проблема именно в TIBStoredProc. Смотри http://www.ibase.ru/devinfo/ibstp.htm
← →
Dred2k (2003-05-30 22:21) [11]В том-то и проблема, что при некоторых обстоятельствах (возможно, возникающих именно в W2000) никаких сообщений не происходит, а вызывается rollback в виду возникновения какого-либо exception. Советую для начала код вида:
...
uses Dialogs;
...
except
on E : Exception do begin
ShowMessage(E.ClassName + ": " + E.Message);
end;
...
Вот тогда и посмотреть можно.
← →
Belkova (2003-05-30 22:22) [12]Спасибо, буду смотреть!
понятно, что происходит rollback по тому, что данные в таблицу не вставляются
← →
Dred2k (2003-05-30 22:24) [13]> Belkova (30.05.03 22:22)
> понятно, что происходит rollback по тому, что данные в
> таблицу не вставляются
Это спорно.
Лучше внимательно протестировать код, а тогда и видно будет...
;)
← →
Belkova (2003-05-30 22:25) [14]Dred2k © (30.05.03 22:21)
Большое спасибо, попробую, но наверное уже завтра.
← →
Zacho (2003-05-30 22:36) [15]
> Dred2k © (30.05.03 22:21)
Собственно, я и хотел узнать, какая ошибка возникает. И возникает ли вообще.
> Belkova (30.05.03 22:25)
И еще - попробуй те же запросы сделать в чем-нибудь типа IBExpert. И сообщи о результатах.
← →
Dred2k (2003-05-30 22:44) [16]
> Zacho © (30.05.03 22:36)
Абсолютно логично.
Насчет вопроса: просто механизм exception не совсем очевиден с первого раза в плане конкретного осязаемого применения.
Я тоже по-первой загадками жил... Так что Belkova имеет шанс разобраться по-проще.
Того искренне и желаю! :)
← →
sunrider (2003-05-31 01:08) [17]А какие наастройки IBTransaction, можно узнать? Кстати попробуй отрубить
try
exception
и посмотри на что ругается. Просто так сервер не откатывается.
Еще попробуй отключить явный старт транзакции и опять же что произойдет
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.031 c