![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Yulaw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 7.2.2010 Репутация: нет Всего: нет |
Нужно написать приложения для логирования изменений БД(а конкретно MsSql), приведения в читабельный вид и записи в файлы разбитые по датам, но это не суть, проблема в том, что не могу придумать как же лучше всего провести чтение БД на изменение без постоянных запросов к ней.
У кого нибудь есть идеи? |
|||
|
||||
| jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 40 Всего: 75 |
Первое что приходит в голову: повесить триггер на изменение таблиц и пусть он логгирует изменения в отдельную таблицу истории. Остается периодически читать таблицу истории и записывать её содержимое в лог.
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
| RageSteel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 6.2.2010 Репутация: 1 Всего: 2 |
Тут многое зависит от того, как организованна работа с этой базой. К примеру, если используется Hibernate, то в нём есть такой модуль, как Hibernate Envers — аннотируешь нужные классы и по ним будет полная таблица с историей.
|
|||
|
||||
| Yulaw |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 7.2.2010 Репутация: нет Всего: нет |
Как я понял, при использование Hibernate(Пока что не было возможности с ним поработать) будут идти постоянные обращения к бд, а как раз этого я хочу избежать, еще нужно учесть, то что я не могу изменять бд, и могу работать только с репликацией, думаю вариант с тригирами самый подходящий. Спасибо за идеи. Это сообщение отредактировал(а) Yulaw - 12.8.2010, 09:52 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Hibernate по своей инициативе в базу не лезет и уж тем более ничего там не меняет. Максимум что он может вытащить данные и из связанных таблиц тоже. А вообще в этом вопросе Hibernate это самое то. У него есть специальная категория в Log4j которая позволяет писать в отдельный лог все выполняемые SQL запросы и может их при этом еще и форматировать по человечески. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |