Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет доступа к хранимой процедуре, во время ее выполнения 
:(
    Опции темы
Lunatikus
Дата 26.2.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: 2
Всего: 6



Здравствуйте.
Я новичок и возник важный вопрос,нуждаюсь в вашей помощи,эксперты.
Мне надо,чтобы во время заполнения данными таблицы либо выполнения процедуры по выборке и заполнению данными таблицы,никто другой не мог редактировать либо запускать эту же процедуру.Вопрос кажется простым,но нужен ликбез.Как можно административно либо программно реализовать такой запрет?
спасибо за внимание




--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
SharedNoob
Дата 5.3.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: 2
Всего: 5



Думаю ничего сложного нет. Добавляем таблицу в бд, с некоторым набором полей, включающим в себя и имя объекта (процедуры, таблицы).
В начале кажной процедуры вставляем обработку, тобиш вставку (если в таблице еще нет такого имени объекта) или же изменение статуса (в том случае если статус процедуры не активный, иначе  на выход) объекта, ну и в конце процедуры естественно обратное изменение статуса этого же объекта. То есть в начале работы меняем на активный, в конце работы на не активный. Ну а далее 1 человек запускает процедуру, она изменяем свой статус на активынй в созданной нами таблице. Процедура работает. Второй запускает ее же. Идет проверка статуса, запущено, выходит из процедуры. Заканчивает роботу процедура которую запустил 1-й пользователь, она в конце своей работы меняет свой статус на не активен. И уже кто-то другой может ее запустить. По поводу таблиц, Нечто такое же можно организовать на уровне триггеров. 

p.s.
Мне не понятно другое, не ошибаетесь ли вы в постановке своей задачи? мне кажется что всего этого можно избежать. опишите задачу.
PM MAIL ICQ Skype   Вверх
ТоляМБА
Дата 5.3.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Цитата(SharedNoob @  5.3.2008,  14:10 Найти цитируемый пост)
Ну а далее 1 человек запускает процедуру, она изменяем свой статус на активынй в созданной нами таблице
Техничка вырывает у юзера сетку и всё - процедура не отработала, статус процедуры в таблице не поменялсо (осталась активной) и фиг кто до неё достучится, пока ты сам ручками не поменяешь статус на фальш.
Как вариант конечно возможно, но надо доработать с учётом описанной мною выше ситуации.

ЗЫ. Просто были такие грабли, правда не на MS-SQL сервере. 
PM   Вверх
SharedNoob
Дата 5.3.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 25.6.2007
Где: UA

Репутация: 2
Всего: 5



Хм есть сомнения на счет "Техничка". Процедура запускается на выполнение со стороны сервера. И выполняется на сервере. А значит что даже юзверь получит дисконект, процедура по идеи должна дойти до своего логического завершиеня !

Это сообщение отредактировал(а) SharedNoob - 6.3.2008, 10:40
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.