Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/27: Рейтинг темы: голосов - 27, средняя оценка - 4.93
98 / 10 / 0
Регистрация: 21.02.2011
Сообщений: 474

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

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

Студворк — интернет-сервис помощи студентам
Есть БД, к которой подключено несколько клиентов. Каждый из них имеет компоненты "DataSource", "ADOConnection" "ADOTable", "DBGrid". Тут рррраз, и в таблицу, к этому всему хозяйству привязанную добавилась строка. Как отследить это дело, чтобы его обработать? Например "DataSource" умеет обрабатывать событие "OnUpdateData". Подойдет? Как это юзать? Самый сложный вопрос: А можно ли об изменении уведомить только одного подключенного юзера?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.12.2012, 13:30
Ответы с готовыми решениями:

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

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

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

49
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:47
Студворк — интернет-сервис помощи студентам
Kabak,Встроенных средств нет. Можно триггеры before update, before delete на кажой таблице и в дополнение поле lastmodified типа TIMESTAMP. (это с форума)


newline, краткая документация - http://msdn.microsoft.com/ru-r... 80386.aspx извеняюсь за внешнею ссылку
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
11.12.2012, 13:47
Так а толку что будет вестись лог на одном компе если в сети их 3? Я так понял что в базе MySQL всё это через Trigпer делается.
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:50
Причем тут компы? это делается на стороне сервера.
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 13:55
Oxotnuk, ааа... понятно... Тогда точно есть Формально, та же таблица, только по другому созданная.

newline, самое неправильное было бы анализировать текстовые логи. Либо один единый лог на общем ресурсе, либо куча логов от каждого пользователя... вообще не метод ни разу
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:59
Alex_ZS, ну впринципе да, только - не изобретать велосипед, а все работает и красиво
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 14:06
Важно не то что бы красиво, а быстро и функционально. Запрос на выборку одной строки из таблицы изменений быстрее чем запрос на на анализ текстового лога Аудит на MS SQL сервере - это текстовый файл. А нужно такое счастье, если необходимо просто знать, что данные в таблице изменились?
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 14:23
Я думаю,что в MS SQL,так как и в других СУБД - файл это выходной файл.
Оригинал это 99% таблица
Просто MS SQL не щупал.
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
11.12.2012, 14:37
Кто-нить может на русском пояснить суть этих триггеров ? понятно что они что-то далают если с базой что-то происходит (Insert, Edit и т.д.), но что именно они делают, где это фиксируется и как прочитать то что сделал триггер ?
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 14:42
Вообще аудит штука сильно спорная на мой взгляд. Много ограничений, сложно в настройке, и вообще зачем огород городить для очевидных вещей

"Чтобы создать, изменить или удалить аудит сервера, участникам требуется разрешение ALTER ANY SERVER AUDIT или CONTROL SERVER." - не каждому пользователю такое позволено

"Администраторы компьютера с SQL Server должны учитывать, что локальные параметры журнала безопасности могут быть переопределены политикой домена." - а даже если и позволено...

потом по-любому придется писать Transact-SQL...

ну не стоит оно того, из пушки по воробъям...

Добавлено через 2 минуты
Kabak, http://msdn.microsoft.com/ru-r... 89799.aspx
1
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
11.12.2012, 14:43
Я так понял, что триггер может что-то проделать с базой, например, сохранить что-нибудь в одной из таблиц по наступлению какого-то события с базой. Иными словами, MySQL сама будет вносить в служебную таблицу данные об изменениях, которые я укажу в триггере. Альтернатива триггерам - программа работающая с базой данных может сама заполнять служебную таблицу.
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 14:45
Kabak, "Триггер — это особая разновидность хранимой процедуры, выполняемая автоматически при возникновении события на сервере базы данных." источник выше
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 14:53
Alex_ZS, Аудит штука замысловатая,но очень при очень полезная,если сервер несет важну информацию.
Да и впринципе книги про аудит и тонкую его настройку - я не читал, но возводил на серверах, за день осознать принцип работы можно,и в будующем будет очень полезно

Как по мне,проще один раз осознать и возвести его за 15 минут в последующие разы, чем ,вот таким способом извращаться
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
11.12.2012, 14:53
Alex_ZS, это я понял. Триггер просто упростит мне жизнь и будет сам заполнять лог в служебной таблице , где фиксируются изменения в базе, но не более того. Чистить всё равно эти логи когда-то придётся
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 14:57
Kabak, для таких же целей,можно сделать шатдулер ))

в mysql 5.1 появился.
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 14:58
Kabak, Ну раз охота пуще неволи... :-D
Тогда покопай в этом направлении: "Компания McAfee разработала открытый плагин для организации процесса аудита MySQL, позволяющего проконтролировать все действия пользователей СУБД. ... Поддерживаются ветки MySQL 5.1 и 5.5" ну и типа того что нибудь
Oxotnuk, такой MS подход нагромоздить сущностей в простом месте
0
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
11.12.2012, 15:03
Мне проще написать мой собственный Trigger чем разбираться с плагинами компании McAfee

А именно: создам служебную таблицу и тот комп который внёс изменения в базу записывает строку в эту служебную таблицу: кто вносил изменения, когда вносил, и подписывается под этим логом, что номер компа такой-то обновился. как только все подписались - лог удаляется из служебной базы как-то так.
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 15:14
Kabak, 5 баллов! Я то же и пытаюсь сказать, что проще не связываться со стандартным аудитом :-D

Добавлено через 7 минут
У меня есть программулина, которая динамически отслеживает параметры. Но беда в том, что она под разными базами работает (ORACLE, MS SQL, MySql, SQL Lite) Там есть именно таблица изменений и таблица логов. Прикручивать стандартный аудит нереально, плюс юзеры в больших компаниях сильно ограничены в системных правах, никто им не даст роли CONTROL SERVER
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 15:15
Да,но из за этого все наши системы так работаю "стабильно".
Простите не удержался
Миниатюры
Отслеживание изменений в БД  
0
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 15:23
Oxotnuk, Спасибо, напоминает прикручивание аудита!

Добавлено через 4 минуты
Кстати... автор темы наверное уже сам все придумал без нас
0
 Аватар для Oxotnuk
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 15:25
Мое дело дать вам совет(как dba работающий с огромными комплексами) а ваше,уже решать,что куда и как кому прикручивать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2012, 15:25
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru