Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/20: Рейтинг темы: голосов - 20, средняя оценка - 4.55
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
1

Отслеживание изменений в БД

10.12.2012, 13:30. Просмотров 3925. Ответов 49
Метки нет (Все метки)


Есть БД, к которой подключено несколько клиентов. Каждый из них имеет компоненты "DataSource", "ADOConnection" "ADOTable", "DBGrid". Тут рррраз, и в таблицу, к этому всему хозяйству привязанную добавилась строка. Как отследить это дело, чтобы его обработать? Например "DataSource" умеет обрабатывать событие "OnUpdateData". Подойдет? Как это юзать? Самый сложный вопрос: А можно ли об изменении уведомить только одного подключенного юзера?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2012, 13:30
Ответы с готовыми решениями:

Отслеживание изменений
Здравствуйте, учу C#. Сделал таблицу. Когда нажимаю кнопку "Поместить" без введённых данных, то...

Отслеживание изменений
Здравствуйте, подскажите пожалуйста, как в Access можно отследить изменения и пользователя который...

отслеживание изменений
И вновь день добрый. как отследить, изменилось ли определенное поле в jsp, непосредственно через...

отслеживание изменений
вот у каждого разработчика получается есть своя копия репозитория(которую он получает спомощью git...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
49
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 16:01 2
"OnUpdateData" не увидит изменений на сервере
0
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
10.12.2012, 16:07  [ТС] 3
А решение?

Добавлено через 39 секунд
Я не обнаружил в компонентах ничего похожего.
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 16:23 4
я не придумал ничего лучше, чем перезачитывать данные с сервера по таймеру. Могут быть вариации на тему того, что зачитывать. Например какую-нибудь сервисную таблицу, в которой работающий экзампляр может писать сервисную информацию, анализируя которую, клиент может принимать решение перезачитывать данные или нет.
0
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
10.12.2012, 16:34  [ТС] 5
Вряд ли. При таком сценарии надо "помнить" весь контент этой ДБ. Что там в ней было.
0
4948 / 2412 / 531
Регистрация: 05.06.2008
Сообщений: 7,516
Записей в блоге: 3
10.12.2012, 16:50 6
Вот может это поможет
Вести Log изменений базы
1
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
10.12.2012, 16:50  [ТС] 7
Еппрст! Все. Рабочий день в пампасы... Точно!
0
4948 / 2412 / 531
Регистрация: 05.06.2008
Сообщений: 7,516
Записей в блоге: 3
10.12.2012, 16:59 8
Цитата Сообщение от newline Посмотреть сообщение
Еппрст! Все. Рабочий день в пампасы... Точно!

Не по теме:

Всмысле?

0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 17:03 9
Зачем? Допустим есть таблица, в которой хранятся имена всех таблиц и время последнего изменения. По таймеру опрашиваем есть ли изменения (любые). Если есть - перезачитываем.
А когда сами правил таблицу с данными, обновляем эту таблицу
0
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
10.12.2012, 17:06  [ТС] 10
Цитата Сообщение от Sasha Посмотреть сообщение

Не по теме:

Всмысле?

В том смысле что устал и соседней строчки не заметил.
0
158 / 144 / 14
Регистрация: 03.02.2012
Сообщений: 745
Записей в блоге: 1
10.12.2012, 17:58 11
Самое простое: создать в базе ещё одну служебную таблицу и в ней фиксировать время последнего изменения в любой таблице базы, ну и если нужно , кто менял и что менял... Вопрос только, как распознать что все клиенты обновились и время чистить эту служебную статистику...

Можно по сети рассылать сообщения другим клиентам, что я изменяю то-то и то-то - обновляемся... Это уже сложнее, что-то вроде сетевого, служебного, чата нужно писать...

Добавлено через 7 минут
Клиент-сервер однако светит...
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 10:33 12
А зачем ее чистить? Размерность таблицы изменений будет фиксированной, а логи конкретных изменений надо хранить в отдельной таблице, если это необходимо.
0
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 12:53 13
А зачем делать всякие эти таблицы? мб я чего то не так понял конечно...
Но почему бы не использовать просто АУДИТ?
0
158 / 144 / 14
Регистрация: 03.02.2012
Сообщений: 745
Записей в блоге: 1
11.12.2012, 12:57 14
что такое "АУДИТ" ?
0
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:03 15
Аудит — это сочетание в едином пакете нескольких элементов для определенной группы действий сервера или базы данных. Компоненты подсистемы аудита SQL Server совместно формируют выходные данные, называемые аудитом, аналогично тому, как определение отчета в сочетании с элементами графики и данных формирует отчет.
Вообще потом можно посмотреть,что,где,когда и кто сделал (del,ins,upd)
0
158 / 144 / 14
Регистрация: 03.02.2012
Сообщений: 745
Записей в блоге: 1
11.12.2012, 13:22 16
plugin что ли ?
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 13:24 17
А где то написано что эта БД поддерживает аудит? Аудит находиться по умолчанию в выключенном состоянии, если он вообще может существовать. Мож это база из кучи DBF?
0
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:27 18
Kabak, нет не плагин шестеренка серверов. (Все жирные сервера имеют аудит)

Alex_ZS, из логики вещей,он раньше темы открывал про MS SQL, вот и вывод у меня такой
0
158 / 144 / 14
Регистрация: 03.02.2012
Сообщений: 745
Записей в блоге: 1
11.12.2012, 13:32 19
как в MySQL им пользоваться ?
0
97 / 9 / 0
Регистрация: 21.02.2011
Сообщений: 367
11.12.2012, 13:40  [ТС] 20
Эммм.. Я использую MS SQL. Постараюсь найти информацию о этом АУДИТЕ. Ответ по данной теме тут: Вести Log изменений базы Спасибо, Sasha.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2012, 13:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отслеживание изменений
Кто-нибудь знает как отслеживать изменения модели $scope.applyingParameters = { ...

Отслеживание изменений
Добрый день. Уважаемые форумчане, подскажите где подсмотреть. Пытаюсь написать пинговалку....

Отслеживание изменений БД
Добрый вечер! Подскажите, есть ли простой способ отслеживания изменений в БД? Необходимо,...

Отслеживание изменений в TextBox
Здравствуйте! Подскажите пожалуйста. Стоит задача изменить в базе данных некоторые значения. Я...

Отслеживание изменений в папке
Доброго времени суток. Есть необходимость следить за изменениями в папке. У Qt есть для этого...

отслеживание изменений свойств
Я пытаюсь разобраться со слушателями, никак это не может принять мой мозг :) В гугле полно ссылок...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.