| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > ограничение на одновременное редактирование |
| Автор: NotIsClone 22.5.2009, 08:41 |
| суть проблемы: как заблокировать одновременное редактирование одной и той же строки? написал приложение на шарпах, оно подключается к серверу и можно редактировать и так дали. как сделать блокировку строки? это делать на сервере или у себя в приложении? читал книгу где это описано, но не могу теперь ее найти... |
| Автор: boevik 22.5.2009, 09:07 | ||||
| Лучше делать при помощи сервера. т.е., при открывании записи на редактирование установить начало транзакции и выполнить select с update lock
после окончания редактирования , выполнить update и закрыть транзакцию
|
| Автор: NotIsClone 22.5.2009, 09:24 |
| сп, а где можно подробней прочитать об этом? т.е. мне не до конца понятно что писать и где писать... fl - это запись? |
| Автор: boevik 22.5.2009, 09:33 |
| выборка и update показаны для примера. в выборке важно установить with(updlock) Искать: как в С# определяются начало и конец транзакции. |
| Автор: NotIsClone 22.5.2009, 09:38 |
| еще раз сп, еще вопрос я храню логин и пароль в конфинг-файле какую лучше учетку использовать для подключения к серверу? или их использовать несколько, одна для админа, 2я для 2го пользователя и т.д. Добавлено через 1 минуту и 22 секунды хотел репу дать дак оказывается мне нужно 100 постов) а жаль... |
| Автор: boevik 22.5.2009, 09:48 |
| С# это windows form application или web application? Если windows form application и клиенты находятся под домайном, то лучше использовать windows authentication при подключении к серверу. Тогда не надо сохранять логин и пароль в конфиг-файле. Но надо будет каждого пользователя определять в сервере или в window группе. |
| Автор: NotIsClone 22.5.2009, 09:55 | ||
С# windows form application а как определить пользователя на сервере? |
| Автор: boevik 22.5.2009, 10:23 |
| посмотри пример http://www.configureinstallsetup.com/setup_mssql_dotnetnuke_screenshots только в 5 шаге надо пометить windows authentication |
| Автор: NotIsClone 22.5.2009, 10:58 |
| еще вопросик, а при такой реализации можно определять имя пользователя и писать в лог на сервере какие он таблицы просматривал и редактировал? |
| Автор: boevik 22.5.2009, 11:19 |
| думаю, что можно. А ещё есть утилитка SQL Profiler, которая записывает все действия на сервере (конечно можно отконфигурировать что бы писала только нужные) |
| Автор: NotIsClone 22.5.2009, 11:38 | ||
спасибо огромное, отправил ПМ, чтоб кинули репу я просто думал прийдется писать еще одну прогу которая будет писать лог |