Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MSSQL через ADO - пул соединений и чудеса с незавершенными транзакциями
|
|||
|---|---|---|---|
|
#18+
alexeyvgMindпропущено... А вот это конечно форменная глупость.Да в принципе можно и не посылать. Но тогда нужно быть уверенным, что выполняешь Close (возвращая коннект в пул, или реально его закрывая, это уже неважно, результат будет одинаковый).Тому кто в этом коде потом будет пытаться разобраться тоже нужно будет всегда помнить о том что где-то там была открыта транзакция, а вот тут логически она должна бы откатываться, но это необязательно, потому что где-то там в другом месте наверняка есть Close. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2018, 23:26 |
|
||
|
MSSQL через ADO - пул соединений и чудеса с незавершенными транзакциями
|
|||
|---|---|---|---|
|
#18+
Mindalexeyvgпропущено... Да в принципе можно и не посылать. Но тогда нужно быть уверенным, что выполняешь Close (возвращая коннект в пул, или реально его закрывая, это уже неважно, результат будет одинаковый).Тому кто в этом коде потом будет пытаться разобраться тоже нужно будет всегда помнить о том что где-то там была открыта транзакция, а вот тут логически она должна бы откатываться, но это необязательно, потому что где-то там в другом месте наверняка есть Close.А это уже вопрос организации кода, внутренней архитектуры. Конечно, если код - это миллион строк с равномерным вкраплением работы с ADO, то да, надёжнее делать rollback. Но, вообще говоря, в таком коде будут ошибки, ставь rollback или не ставь - ведь ветка могла пойти и по другому, правильно? Более безопасно - обрамлять объект ADOConnection в using, и не делать циклов внутри, тогда трудно ошибиться, и "не закрыть". Но в этом случае какой нибудь ушлый кодер может обойти правила, потому что "очень надо, а мне манеджер сказал, что...", и вот там уже наделать косяков. А самое надёжное - делать свою обёртку, в которой будет один вызов - одно обращение к сиквелу, с одним открытием/закрытием коннекта. Вот это гарантирукет, потому что "оно само", плюс можно вылизать работу с ADO до совершенства. Мы, например, делали такую обёртку на основе Microsoft Enterprise Library, и получили не только гарантию от этих ошибок, но и от многих других, да ещё и, например, высокую скорость, потому что в тыщах мест кода никто не будет заморачиваться перформансом, а один раз можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 00:54 |
|
||
|
MSSQL через ADO - пул соединений и чудеса с незавершенными транзакциями
|
|||
|---|---|---|---|
|
#18+
alexeyvgДа в принципе можно и не посылать. Но тогда нужно быть уверенным, что выполняешь CloseНе поможет. У ТС управлегние транзакциями не методами OLE DB и sp_reset_connection вызывается в момент повторного использования, а не по Close. Так что транзакция останется открытой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2018, 11:36 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39723812&tid=1688892]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
5ms |
track hit: |
170ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 266ms |
| total: | 547ms |

| 0 / 0 |
