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