Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизВопрос от недопонимания транзакций. Найти похожие ветки
← →
galexis © (2004-12-10 11:35) [0]Что нужно делать для запроса select: COMMIT или ROLLBACK? Чем заканчивается каждая из этих операций для select?
← →
Term (2004-12-10 11:38) [1]для селективного запроса, насчёт этого не беспокойся
← →
Александр Иванов © (2004-12-10 11:39) [2]Именно для SELECT транзакция не нужна. Транзакция нужна в запросах по изменению данных или структур данных.
← →
msguns © (2004-12-10 11:52) [3]>Александр Иванов © (10.12.04 11:39) [2]
>Именно для SELECT транзакция не нужна.
Вай-вай !!! Это серьезно ? А если в ХП на изменение или триггере
исп-ся селест ?
← →
stud © (2004-12-10 11:52) [4]
> Именно для SELECT транзакция не нужна. Транзакция
> нужна в запросах по изменению данных или структур
> данных
транзакия нужна для любого запроса
> Что нужно делать для запроса select: COMMIT
если отображаеш данные в визуальных компанентах и используеш ибх то в св-вах связанной транзакции поставь commitretaining
← →
galexis © (2004-12-10 11:53) [5]И все же. Что происходит с набором данных после операций Commit и RollBack?
Я использую IBQuery. После выполнения select и затем commit набор данных остается доступным? Или он теряется?
← →
Александр Иванов © (2004-12-10 11:54) [6]Я специально подчеркнул именно для SELECT.
← →
galexis © (2004-12-10 11:55) [7]
> stud ©
> commitretaining
если можно, поподробнее, что это будет означать?
← →
Term (2004-12-10 12:00) [8]
> commitretaining
сходи на ibase.ru там всё есть.
> Вай-вай !!! Это серьезно ? А если в ХП на изменение или
> триггере
> исп-ся селест ?
про это в вопросе небыло не слова :))) так что если он хочет сделать выборку, ничего комитить не надо :)))
← →
galexis © (2004-12-10 12:01) [9]У меня в комбобоксы грузятся данные из таблиц. Выбираются данные select"ом. После этого формируется большой запрос по значениям из этих комбобоксам. А перед этим большим запросом сбрасывается в ноль генератор. IBTransaction один. Поэтому перед сбросом генератора выполняю commit предыдущих селектов. Выполняю большой запрос. Потом пытаюсь повторить процедуру поиска, поменяв значения комбобоксов. IBQuery оказываются закрытыми. Получается что коммит закрывает IBQuery. Я прав?
← →
Johnmen © (2004-12-10 12:02) [10]>galexis ©
В старых версиях IB предпочтительней было роллбэк. Начиная примерно с IB6 побарабану.
Есть ряд небольших статей на эту и смежные темы на ibase.ru
← →
stud © (2004-12-10 12:02) [11]подтверждение транзакции с сохранением контекста.
← →
stud © (2004-12-10 12:04) [12]в таких случаях лучше использовать хотя бы две транзакции - пишущую и читающую а вообще - ibse.ru как уже сказали. там подробнее
← →
Term (2004-12-10 12:09) [13]
> пишущую и читающую
а если он IBX использует :))
← →
stud © (2004-12-10 12:20) [14]
> а если он IBX использует :))
вот именно))
← →
galexis © (2004-12-10 12:54) [15]С
> в таких случаях лучше использовать хотя бы две транзакции
> - пишущую и читающую
Спасибо. все работает и в голове больше порядка стало.
← →
Term (2004-12-10 13:20) [16]
> вот именно))
это как так, в компоненте TIBDataBase вроде подключается одна транзакция??? каким образом подключить вторую, вроде такая фишка в фибсах присутсвует
← →
stud © (2004-12-10 13:25) [17]в св-вах самой транзакции указываеш компонент бд и работаеш спокойно
← →
stud © (2004-12-10 13:29) [18]у IBDatabase прописывается тр. по умолчанию а самих компонентов ibtransaction может быть скока угодно.
у квери или других есть св-во transaction и запуск нужной например
ibsql.trasaction.starttransaction
← →
Term (2004-12-10 13:41) [19]ну это то да, но я обычно хватает одной транзакции и траблов не возникло вроде, а две транзакции я нормально использовал только в фибсах
← →
stud © (2004-12-10 13:44) [20]ну не знаю я обычно не меньше двух использую
← →
Term (2004-12-10 13:58) [21]незнаю я пока никаких проблем от того что использую только один компонент транзакции не имел
← →
Term (2004-12-10 13:59) [22]незнаю я пока никаких проблем от того что использую только один компонент транзакции не имел, в основном использую IBX
← →
Zacho © (2004-12-11 08:52) [23]Александр Иванов © (10.12.04 11:39) [2]
Нужна, и ещё как. Про уровни изоляции знаем ?
Johnmen © (10.12.04 12:02) [10]
Насколько помню, как раз наоборот :)
← →
Term (2004-12-11 20:31) [24]
> Александр Иванов © (10.12.04 11:39) [2]
>
> Нужна, и ещё как. Про уровни изоляции знаем ?
он наверное имел ввиду что после выборки комитить ничего не нужно
← →
jack128 © (2004-12-11 21:53) [25]Term
stud © [18]
а вы не о разных вещах говорите??
в фидах две транзакции на ОДИН Dataset. В IBX можно реализовать тоже самое если сделать наследника от TIBDataSetUpdateObject. На том же ibase, кажись, есть статья на эту тему
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.042 c