Форум: "Базы";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизПомогите плз с транзакциями!!! Найти похожие ветки
← →
Igor666 (2006-05-11 14:20) [0]Значится так, я работаю с МССКЛ через АДО, и трабл в том что если я начинаю транзакцию то больше никто не может даже сделать обычную выборку из БД, прога просто висит пока транзакция не будет завершена. Я с АДО работал мало поэтому не знаю что и как настраивать, пробовал перебирать уровни изоляции не помогло. Подскажите пожалуйста что нужно сделать чтобы можно было работать с несколькими транзакциями одновременно.
Заранее спасибо.
← →
Nikolay M. © (2006-05-11 14:32) [1]
> Подскажите пожалуйста что нужно сделать чтобы можно было
> работать с несколькими транзакциями одновременно.
Для начала понять механизм блокировок, обеспечивающих необходимые уровни изоляции (БОЛ: весь раздел locking + все see also). И взять себе за правило, что транзакции должны быть как можно более короткими по времени и наименее ресурсоемкими.
← →
igor666 (2006-05-11 14:38) [2]сорри, я немного не понял, суть в том что после начала транзакции я не могу даже сделать обычный "селект", я понимаю еслибы он мне блокировал редактирование, но даже обычную выборку блокирует. Это вообще как то лечиться или нет?
← →
sniknik © (2006-05-11 14:44) [3]> что нужно сделать
постараться понять, а зачем они тебе вообще нужны, транзакции...
так например, сдесь довольно часто бывает, "забабахает" ктонибудь откат действий для юзеров на транзакциях ... (т.е. на кнопку cancel rollbak вешают), после жалуются "не получается с транзакциями работать", а и не получится, не для того они.
> Это вообще как то лечиться или нет?
в общем то да, лечится, есть "грязное чтение" но лучше не надо, лучше приведи в порядок логику программы.
← →
Nikolay M. © (2006-05-11 14:55) [4]
> сорри, я немного не понял, суть в том что после начала транзакции
> я не могу даже сделать обычный "селект", я понимаю еслибы
> он мне блокировал редактирование, но даже обычную выборку
> блокирует. Это вообще как то лечиться или нет?
Лечится. Чтением вышеуказанного раздела и книжек по теории БД вообще и MS SQL в частности.
Читать лекцию в форуме, к сожалению, не могу, а в 2 словах рассказать о поведении MS SQL при конкурирующих транзакциях нельзя. Если поймешь, например, вот эту статью, буду рад прояснить непонятые моменты, если нет - ищи в яндексе статьи попроще по словам вроде блокировка, ресурс, транзакция, уровень изоляции и тд
http://rsdn.ru/article/db/LockEscalation.xml
Как только избавишься от надуманных терминов "блокировка редактирования" - welcome :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c