Вниз
Скачать: CL | DM;

Вопрос от недопонимания транзакций.   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.025 c
4-1101593346
Davinchi
2004-11-28 01:09
2005.01.16
Как включить SpeakerPhone на голосовом модеме


14-1103990640
Fima_MS
2004-12-25 19:04
2005.01.16
Линки может у кого есть?


9-1096483582
Jus
2004-09-29 22:46
2005.01.16
Как избежать ошибки <B>Canvas does not allow drawing </B>при свор


3-1103022631
yaric
2004-12-14 14:10
2005.01.16
Длительные процедуры на сервере


3-1103024010
Black
2004-12-14 14:33
2005.01.16
Пользаватели в SQL Server 2000




   Наверх