Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.024 c
1-84216
Графика
2003-06-12 13:42
2003.06.26
Как у предка убрать published ?


3-84030
Солер
2003-06-01 08:03
2003.06.26
В DBGrid какая то абракадабра


14-84726
neuro
2003-06-05 19:20
2003.06.26
Tcl/Tk, Awk...


1-84219
DJ Vano
2003-06-13 01:04
2003.06.26
TMemo


14-84519
Nox
2003-06-01 13:39
2003.06.26
DISABLEKERNEL





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