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

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

Блокировка операций изменения данных


Страницы:   1 2 3

analyzer ©   (2005-06-14 09:18:00) 

Уважаемые мастера подскажите пожалуйста.
Имеется подобие СУБД с компонентами query,datasource и т.д необходимо чтобы когда один пользователь в сети входил в режим редактирования происходила блокировока операций изменения для других пользователей.В компоненте table есть функция lock,а в в query я ничего подобного не наблюдаю.Подскажите как быть.Заранее благодарен


Sergey13   (2005-06-14 15:59:00) [1]

2[54] analyzer   (14.06.05 15:50)
8-)


ANB   (2005-06-14 15:51:00) [2]


> Val ©   (14.06.05 15:38) [51]
> > [50] Sergey13 ©   (14.06.05 15:32)
> разве не 13? 8О
> ;)
> >[44] ANB ©   (14.06.05 15:21)
> Потому что вы явно сделаете лишние телодвижения, мешающие
> работе сервера.
- я их вообще не делаю. В квере одака можно включить и выключить блокировку при редактировании.


analyzer   (2005-06-14 15:50:00) [3]

2Sergey13

Да я согласен что в итоге было бы гораздо проще сделать клиент-серверное проложение,но было так в лом переделывать то что писалось целых пару часов что я решил домучать эту прогу,тем более что осталось мелочь...


analyzer   (2005-06-14 15:47:00) [4]


> Ну не очень вежливый наезд в :


И наездов никаких не было..А анкета вещь полезная быстро меняет
ты на вы.


analyzer   (2005-06-14 15:41:00) [5]

Удалено модератором
Примечание: С перебранкой в персональную почту


Val   (2005-06-14 15:38:00) [6]

> [50] Sergey13 ©   (14.06.05 15:32)
разве не 13? 8О
;)
>[44] ANB ©   (14.06.05 15:21)
Потому что вы явно сделаете лишние телодвижения, мешающие работе сервера. Блокируйте явно, используйте пессимистическую блокировку, раз боитесь потерять данные при одновременном изменении записей...


Sergey13   (2005-06-14 15:32:00) [7]

2[46] analyzer   (14.06.05 15:25)
Я (или мой ник) так молодо выгляжу? Спасибо. 8-)

2[38] analyzer   (14.06.05 15:06)
>Я хочу сделать все без организации клиент-серверной херни.
Я пебе говорил уже, что ты ошибся с выбором инструмена, конкретно БД. Ибо эта "клиент-серверная херня" делает как раз то, что ты тут хочешь практически без всякой организации с твоей стороны. Этим собственно она и отличается от файл-серверной "херни".


ANB   (2005-06-14 15:31:00) [8]


> msguns ©   (14.06.05 15:27) [47]
- думаю, билинг ему как раз и не нужен.


ANB   (2005-06-14 15:29:00) [9]


> analyzer   (14.06.05 15:25) [46]
> 2 ANB
>
> Где ты видел хамство в моих постах?
Ну не очень вежливый наезд в :


> 2Sergey13
> Я не знаю сколько тебе лет ,но если ты помнишь основная
> задача курсовой быть сданной,а все остальное мелочи.


Можно было и анкету глянуть.


msguns   (2005-06-14 15:27:00) [10]

>analyzer   (14.06.05 15:03) [37]
>Какие инфопотоки.Билинг приходит со станции,обрабатывается,тарифицируется и рассовывается по счетам абонентов и все дела.А то понимаешь инфопотоки какие-то...

Прежде чем укладывать чемодан в дорогу, некисло было б узнать куда направляешься: в Египед или на Северный полюс. От этого существенно зависит содержимое этого самого чемодана.

Ти пишешь "биллинг". Это что за зверь ? У него есть информационные характеристики: реквизиты, объемы, требования по надежности и избыточности и т.д. Кто или что источник ? Какова надежность линий связи и т.д.

"Счета абонентов". Какие реквизиты ? Какова схема хранения и пополнения данных ?

С таким подходом невозможно решить ни одной даже простенькой задачки с БД. Что уж говорить о таком монстре, как телефония с ее объемами и требованиями по скорости и транзакционности.
Понятно теперь, почему препод-зверь.

Вместо нормальной постановки задачии проектирования модели данныхвизгливый вопрос "как заблокировать таблицу" ?
А теперь представь себе, что будет с телефонией, если при связи таблица абонентов будет заблокирована ?! При одновременном доступе хотя бы тысячи абонентов ?

Мой совет: быстро смени тему. Ну хоть вон школу возми. Типа расписания уроков и учет там чего-нить, типа успеваемости. Иначе этот препод на тебе выспится ;))


analyzer   (2005-06-14 15:25:00) [11]

2 ANB

Где ты видел хамство в моих постах?
Надеюсь Sergey13 не обиделся насчет вопроса по кол-ва лет,я так думаю он сам или студент или был им в недавне прошлом.

Всем GL&HF


ANB   (2005-06-14 15:22:00) [12]


> analyzer   (14.06.05 15:21) [43]
- ну с текстовым файлом ты маханул. Есть еще реализации с отдельной таблицей блокировок. Тоже жизненно.


analyzer   (2005-06-14 15:21:00) [13]

2 ANB

Вот это то что мне пришло в голову после первого ответа на мой пост и скорее всего я так и сделаю.Только у меня был садистко-извращеный вариант текстового файла со структурой:

название таблицы             заблокированые записи
abons.dbf                         иванов
                                 петров

cals.dbf                          89999999999

                                 97777777778
и т.д.

Всем спасибо за ответы и желание помочь ,седня буду делать.


ANB   (2005-06-14 15:21:00) [14]


> 3. сервер оракла обычно блокирует при изменении именно на
> уровне записей, этого НЕ НАДО делать.
- смотря чем к нему коннектится, как изменять и как настроить эту возможность. Гы. Кстати, если изначально у меня все юзеры в соседних кабинетах сидят, а их не больше 10 будет (по ТЗ), - почему бы и нет ? Сейчас у меня такая задача стоит в перспективе, так как потеря данных при одновременном изменении хуже, чем блокировка редактирования хоть даже на несколько часов (в смысле, в моем проекте).


Val   (2005-06-14 15:13:00) [15]

> [41] ANB ©   (14.06.05 15:10)
3. сервер оракла обычно блокирует при изменении именно на уровне записей, этого НЕ НАДО делать.


ANB   (2005-06-14 15:10:00) [16]


> 2Sergey13
> Я не знаю сколько тебе лет ,но если ты помнишь основная
> задача курсовой быть сданной,а все остальное мелочи.Если
> бы я делал клиент-серверное приложение,тем более на оракле
> я бы просто зае№;%я такие курсовики писать.

1. На хами
2. На оракле все было бы намного проще
3. Если очень нужны блокировки (я так понимаю, записей, а не всей таблицы), заведи доп. поле таблице, пиши туда какую нибудь инфу при включении блокировки и стирай ее при разблокировке. Перед блокированием проверяй (ОТДЕЛЬНЫМ ЗАПРОСОМ), что эта запись еще не блокирована. И сделай принудительную разблокировку. Подход кривой, но рабочий, я даже в оракловых реализациях такое видел.


Sergey13   (2005-06-14 15:10:00) [17]

2[37] analyzer   (14.06.05 15:03)
>Я не знаю сколько тебе лет ,
Не расстраивай меня. Много. 8-)

>но если ты помнишь основная задача курсовой быть сданной,а все остальное мелочи.
Помню, как ни странно. Но ведь эти мелочи тебе покоя не дают, а не мне. Что, твой препод будет по коду лазать и блокировки искать? Или многопользовательский режим организовывать?


Val   (2005-06-14 15:10:00) [18]

>[37,38] analyzer   (14.06.05 15:03)
Вы чушь несете, простите. Такой курсовик логичнее было бы реализовывать именно на клиент-сервере, а не файл-сервере. И заметного усложнения при переходе на клиент-сервер при такой небольшой задаче я не вижу.


analyzer   (2005-06-14 15:06:00) [19]

2sergey13

Я хочу сделать все без организации клиент-серверной херни.А фиреберд это как я понимаю имено к-с субд.

Видел бы ты этого препода...Втер бы ты ему ченить... )))


analyzer   (2005-06-14 15:03:00) [20]

Удалено модератором
Примечание: У нас не принято матюгаться


Страницы:   1 2 3

Наверх

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