
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.07.2008, 10:40
|
|||
|---|---|---|---|
Есть ли смысл в транзакциях на SQL server, если транзакция на клиенте? |
|||
|
#18+
Привет! у меня последовательно вызывается 3 процедуры на клиенте. Поэтому делаю там Код: plaintext Вопрос: есть ли смысл каждую процедуру на сервере делать также в транзакции? Смысл в том, что вроде хуже не будет, но тут с ошибкой столкнулся, которую не смог решить. А именно: после Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. и при ролбэк получал Код: plaintext почему? вроде всё правильно делаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.07.2008, 13:11
|
|||
|---|---|---|---|
Есть ли смысл в транзакциях на SQL server, если транзакция на клиенте? |
|||
|
#18+
да забей,ты на столь умный механизм транзакций в ado.net. по коннекту своему отдавай begin tran команду потому commit tran или rollback. и все. забей на их объект транзакции,он такой не удобный для понимания и совсем не мобильный . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.07.2008, 13:44
|
|||
|---|---|---|---|
Есть ли смысл в транзакциях на SQL server, если транзакция на клиенте? |
|||
|
#18+
Плодить лишние транзакции не стоит. Так что либо используйте ado.net-транзакции, либо отключайте автокоммит и тогда уже используйте BEGIN TRAN/ROLLBACK TRAN. Какой вариант лучше - зависит от того, где логика приложения сконцентрирована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2008, 22:19
|
|||
|---|---|---|---|
|
|||
Есть ли смысл в транзакциях на SQL server, если транзакция на клиенте? |
|||
|
#18+
reliefи при ролбэк получал Код: plaintext Есть у SQL server такое правило, что у хранимки @@TRANCOUNT на входе и выходе должен быть одинаковым - иначе он кидает ашыпку. Поэтому, при разработке хранимки если неизвестно откуда и как она будет вызваться следует это учитывать. Я обычно делаю что-нибудь типа этого: [SRC tsql] DECLARE @ownTran bit IF @@TRANCOUNT > 0 SET @ownTran = 0 ELSE BEGIN SET @ownTran = 1 BEGIN TRAN END ... ... -- Success IF @ownTran = 1 COMMIT TRAN RETURN 0 OnError: IF @ownTran = 1 ROLLBACK TRAN[/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=17&mobile=1&tid=1352208]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 339ms |

| 0 / 0 |
