Форум: "Базы";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
ВнизЛог изменений в таблице Найти похожие ветки
← →
Devourer (2003-11-24 14:36) [0]Есть таблица DBF.Юзеры меняют ее(добавляют,изменяют, удаляют записи).
Надо вести лог такого вида:
(дата)(время) (изменение) записи (ID записи)
Ясно, что прога резидентная, обновления по таймеру.Вопрос в главном- как отслеживать изменения?(хранить последнюю копию таблицы и сравнивать с ней?)или есть более быстрые пути?
Спасибо
← →
Reindeer Moss Eater (2003-11-24 14:38) [1]И в чем смысл?
← →
Devourer (2003-11-24 14:39) [2]
> Reindeer Moss Eater © (24.11.03 14:38) [1]
> И в чем смысл?
жизни?
← →
Reindeer Moss Eater (2003-11-24 14:40) [3]Смысл твоей задумки в чем? Что это даст кроме помехи для пользователей?
← →
Stas (2003-11-24 14:41) [4]На событие BeforeDelete записываешь в спец. таблицу нужные параметры, на BeforeEdit и т.д. Получается своего рода триггер.
← →
Reindeer Moss Eater (2003-11-24 14:43) [5]Ага. Щазз.
Ему надо в своей программе вести лог изменений вносимых третьей программой
← →
Devourer (2003-11-24 14:47) [6]нужен не лог как конечная цель - это скорее побочный эффект.
Смысл вкратце в следующем: есть клипперская прога, в которой формируются документы в виде записей в табл.
Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней скажем, за последние 5 минут, и по результатам изменений формировать новые документы.
← →
Reindeer Moss Eater (2003-11-24 14:49) [7]И ради этого ты будешь мешать работе самих пользователей?
← →
Devourer (2003-11-24 14:50) [8]
> Reindeer Moss Eater © (24.11.03 14:43) [5]
> Ага. Щазз.
> Ему надо в своей программе вести лог изменений вносимых
> третьей программой
Вы все правильно поняли
← →
Devourer (2003-11-24 14:52) [9]мешать конечно хотелось бы как можно меньше -потому и задаю вопрос
← →
Reindeer Moss Eater (2003-11-24 14:56) [10]и по результатам изменений формировать новые документы.
В чьей программе должны формироваться новые документы?
← →
Devourer (2003-11-24 14:56) [11]
> В чьей программе должны формироваться новые документы?
в моей
← →
Reindeer Moss Eater (2003-11-24 14:59) [12]Может тогда сменить весь техпроцесс?
Зачем программа на клиппере? Только для ввода данных в таблицу, что бы потом по этм данным сформировать новые документы?
Кстати, в этой же таблице?
← →
DenK_vrtz (2003-11-24 15:00) [13]>Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней
может лучше прогу без чудес написать?
← →
Devourer (2003-11-24 15:04) [14]Эх если б можно было б сменить техпроцесс- не надо было бы огород городить.
Клипперская прога -базовая система, а я к ней надстройку леплю.
И саму таблицу я не меняю - только снимаю изменения.
← →
Reindeer Moss Eater (2003-11-24 15:05) [15]Тогда лучше ничего не мониторить, а запускать формирователь по расписанию
← →
Devourer (2003-11-24 15:10) [16]
> Reindeer Moss Eater © (24.11.03 15:05) [15]
> Тогда лучше ничего не мониторить, а запускать формирователь
> по расписанию
Согласен, но это не принципиально(частота раз в 10 мин меня устраивает)
Вопрос так и остался - как выделить измененные записи
← →
Reindeer Moss Eater (2003-11-24 15:14) [17]Я бы не стал оперировать непосредственно с этой таблицей.
Импортнул бы ее (например на SQL сервер).
Далее выяснил бы все произошедшие изменения по сравнению с предыдущим импортом (скорее всего прямо на сервере)
Ну и сформировал бы документы
← →
Devourer (2003-11-24 15:17) [18]Спасибо, Reindeer Moss Eater.
Значит я на верном пути
← →
Oleg_em (2003-11-24 15:19) [19]если ни в одном поле DBF-ки нет данных о времени внесения изменений то тока одно:
1. делать копию текущей базы скажем BACK_OLD.dbf
2. через 10 минут делать новую копию BACK_NEW.dbf
3. сравнивать каждую запись по нужным полям, делать отчет об изменениях
4. копировать BACK_NEW в BACK_OLD
5. итти на пункт 2
а записей то много ?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c