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

Вниз

Надежность CommitRetaining   Найти похожие ветки 

 
Alex Y.   (2002-01-15 18:38) [0]

В сети из 20 компов работает программа под FB6. Использую FIB+.
Сервер - NT4. Станции - разные винды. При работе с TFIBDataDetM
делаю trans1.CommitRetaining после post. Но периодически данные пропадают! Т.е. транзакция не отрабатывает. Сетка слабая, тормозная. Может нужен жесткий Commit? Но как продолжать работу с таблицами?


 
Fareader   (2002-01-15 19:17) [1]

Тригеры не проверял?


 
Alex Y.   (2002-01-15 19:35) [2]

Тригеров нет
Вроде пишут, что надежнее вносить обновления через
TFIBDataSetM.Close;
TFIBDataSetM.Open;
Но как вернутся на текущую запись?


 
Fareader   (2002-01-15 20:09) [3]

Ставь Bookmark
var book:Tbookmark;
begin
Book:=yar_query.GetBookmark;
yar_query.close;
yar_query.open;
yar_query.GotoBookmark(book);
yar_query.FreeBookmark(book);
end;


 
Alexandr   (2002-01-16 06:58) [4]

изменения надо делать в отдельной транзакции и ей commit делать, а данные для отображения в отдельной транзакции- и ей commit вообще можно не делать если она read commited конечно


 
olban   (2002-01-16 07:32) [5]

У меня CommitRetaining работает нормально, а подскажите, возможно ли при всех этих условиях использование вложенных транзакций, чтобы не запускать отдельную транзакцию, если данные обрабатываются в рамках одной транзакции, но и внутри возможны откаты каких-то данных?


 
Alexandr   (2002-01-16 08:32) [6]

вложенных транзакций нет и не будет. Это изврат.
Это не надо, просто надо правильно проектировать.
действительно от commit/commitRetaining данные пропадать не должны. это точно.
Проблема в чем-то другом.


 
olban   (2002-01-16 08:36) [7]

Как это изврат насчет вложенных транзакций, у меня такая ситуация возникала и не потому что неправильно спроектировал что-то, просто ситуация такая, и пришлось самому что-то делать с помощью дополнительных сохранений. Вот это действительно изврат!


 
Alexandr   (2002-01-16 08:49) [8]

да уж...
как это "просто ситуация такая"?


 
olban   (2002-01-16 09:43) [9]

Ну для чего применяется транзакция? Для того, чтобы мы могли свободно работать с данными не о чем не беспокоясь. В любой момент можно сделать откат. А если мы работаем в транзакции с этими данными, а для этих данных имеются еще данные, которые назовем под-данные, для которых мы тоже должны иметь возможность делать откат или сохранение. Использовать другую транзакцию невозможно, так как под-данные связаны с данными, а уровень Read Commit. Поэтому пришлось делать отдельное сохранение этих под-данных, далее сохранять изменения или делать откат, копировать сохраненные данные обратно.


 
Fareader   (2002-01-16 11:15) [10]

2 Alexandr - если в одной транзакции делать изменения, а через другую показывать, то как при внесении изменений мне увидеть результат, если я для читающей транзакции не сделаю commit or rollback?


 
olban   (2002-01-16 11:45) [11]

А здесь тогда надо другой уровень изоляции делать для транзакция, чтобы она читала и неподтвержденные изменения, а это далеко не всегда удобно и как-то некрасиво


 
Fareader   (2002-01-16 11:52) [12]

Тгда получается, что надо делать commit для обеих транзакций, а зачем тогда вторая?


 
Alex Y.   (2002-01-16 17:09) [13]

Кто нибудь в курсе, что реально происходит при commit и commitRetaining в FireBird (у меня версия летняя) ? Именно реально, а не по теории. Может, где упоминались баги на эту тему?
Могу сказать точно, что в сети первый диалект очень криво обрабатывает поля NUMERIC, и для поля NUMERIC(7б2) со значением 1.32 вполне может быть 1.31986746... Может и с транзакциями что-то криво?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
1-32197
sasa_verman
2002-01-29 14:32
2002.02.11
TClientDataSet нужно заполнить ланими из масива, а сам ДатаСет никчему не привязан


3-32158
3asys
2002-01-16 12:01
2002.02.11
Key column information is insurficient or incorrect. Too many rows were affected by update


1-32255
Лана Розанова
2002-01-28 11:09
2002.02.11
Все добрый день


7-32355
-=CrazyFish=-
2001-10-10 12:23
2002.02.11
Инфракрасный порт


14-32330
chajnyk
2001-12-21 09:13
2002.02.11
Запуск програм





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