|
|
|
Работа с транзакциями компонентов ADO в Delphi
|
|||
|---|---|---|---|
|
#18+
Всем привет! Обьясните хто-нить пожалуйста, как работают компoненты ADO для Delphi в контексте транзакций, если я не использую BeginTrans/CommitTrans/RollbackTrans. К примеру, если я вызываю TADOCommand.Execute, то, я так понимаю, внутрях этой функции начинается новая транзакция, выполняется моя команда, после чего делается Commit? Или же при установке соединения с БД начинается новая транзакция, а после отсоединения делается Commit? Если не сложно, обьясните или киньте ссылочку на доку, где это обьясняется. Всем заранее спасибо. Виталий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 15:49:34 |
|
||
|
Работа с транзакциями компонентов ADO в Delphi
|
|||
|---|---|---|---|
|
#18+
К примеру, если я вызываю TADOCommand.Execute, то, я так понимаю, внутрях этой функции начинается новая транзакция, выполняется моя команда, после чего делается Commit? Так, да не совсем :). ADO в этом случае не дает никаких команд про транзакции, твоя команда как бы неявно обрамляется begin tran и commit tran самим сервером. Он же ее самостоятельно откатывает в случае ошибки и возвращает сообщение на клиент. Нюанс: сказанное верно, если SET IMPLICIT_TRANSACTIONS установлено в OFF (при использовании ADO по умолчанию). Можно установить в ON, тогда сервер будет использовать другой алгоритм работы с транзакциями. Почитай BOL раздел SET IMPLICIT_TRANSACTIONS. Или же при установке соединения с БД начинается новая транзакция, а после отсоединения делается Commit? Нет, так не бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 01:40:18 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1818712]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 306ms |

| 0 / 0 |
