Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа БД с MS SQL, что лучше? [D6, D7, MSSQL]


Страницы:   1 2

_sulent ©   (2005-08-23 07:36:00) 

Приветствую!
У меня вопрос такого характера. Работаю с MSSQL через ADO и получается очень неприятная история. Сколько уже бьюсь никак не получается от нее отвязаться.
Допустим программа работает по сети, и если один клиент выполняет запрос на добавление, а второй делает select, то как бы все нормально происходит с добавлением, транзакция вроде как завершается, но... база блокируется. Т.к. говорит что мол таблицы заблокированы, типа до конца не завершился insert. Хотя commit прошел, может есть какая-то тонкость в этом деле?
Что только не пробовал, и через параметры, и даже PAGLOCK, но толку никакого.

Заранее благодарен


sniknik   (2005-08-23 08:32:00) [21]

> ... типа до конца не завершился insert. Хотя commit прошел ...
т.е. разовое применение добавления в транзакции блокирует дальнейшую работу? (commit прошел). ну это у тебя наверное ошибка в программе.

а тонкости да есть (а где их нет?), делать только "короткие" транзакции (если нужно готовить данные заранее, не "размазывать" ее стартуя а после ожидая чегото), "заворачивать" в транзакцию только то что необходимо (связанные логически данные, блок данных, в общеv то что одно без другого смысла не имеет ), не пользоваться тразакциями для реализации кнопки "отмена" (пример даже такой в книге видел... но так то пример, а воспринимают буквально, типа так надо), работать с транзакциями командами mssql сервера а не компонент (здесь чистое имхо, т.к. много проблем видел именно с компонентной реализацией которые в "секунд" решались заменой на вызов команды сервера... с чем связано, от чего зависит х.з. т.к. в этом случае (MSSQL) они должны быть равнозначны), и т.д. на маленькую брошурку страниц на 18 мелким шрифтом "тонкостей"... все и не вспомнить, только когда конкретная ситуация разбирается можно сказать... "а вот тут есть одна тонкость" ;о)).

p.s. самое главное забыл, не пользоваться обшими фразами при описании проблемы!!! (та еще "тонкость" ;), типа "... но толку никакого". это лучше заменить на конкретный код с пояснениями а последние слова сообшением ошибке/описанием неправильности (в твоем понимании) действия. и как оно должно быть правильно (опять в твоем понимании).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо