Аудит данных предприятия [закрывается]

byte[] iso88591Data = theString.getBytes("ISO-8859-1");

добьется цели. Из Вашего описания кажется, как будто Вы пытаетесь "сохранить Строку ISO-8859-1". Строковые объекты в Java всегда неявно закодированы в UTF-16. Нет никакого способа изменить то кодирование.

, Что можно сделать, 'хотя должен получить байты, которые составляют некоторое другое кодирование его (использование .getBytes() метод как показано выше).

6
задан ThinkingStiff 4 August 2012 в 19:10
поделиться

3 ответа

Я видел несколько решений, но мне больше всего понравилась простота:

  • Создайте таблицы аудита, которые отражают каждую исходную таблицу, добавив несколько дополнительных столбцов для отслеживания даты и типа изменения. (вставьте, обновите или удалите, если вы его поддерживаете) и пользователь, вносящий изменение. Удалите все ограничения и индексы (если вы не ожидаете, что будете выполнять много поисков).

  • Внутри логики обновления таблицы (мы использовали процедуры, но нет причин, по которым это невозможно сделать с помощью OR / M или другого постоянства (с учетом соответствующих ловушек), записывать как в исходную таблицу, так и в таблицу аудита.

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

1
ответ дан 17 December 2019 в 04:49
поделиться

У меня нет никаких ссылок, но в системе, которую я с радостью поддерживаю здесь, на повседневной работе. У нас есть одна таблица аудита, которая в основном хранит следующую информацию.

TableName, PrimaryKeyValue, ModifiedColumn, OldValue, NewValue, ChangeUser, Change Date

Теперь это отлично работает для скорости аудита, в нашем коде у нас есть общий интерфейс для автоматической реализации ведения журнала аудита, но с точки зрения «проверки» это не самый «быстрый» способ получить информацию обратно. (Допустим, мы на самом деле ничего не сделали, чтобы просмотреть журнал аудита ...)

2
ответ дан 17 December 2019 в 04:49
поделиться

Недавно нам пришлось решать ту же проблему на нашем предприятии. От нас требовалось также вернуться к предыдущим версиям.

Мы закончили аудит бизнес-сущностями, а не таблицами в sql. Мы в основном сериализуем записи в БД и отслеживаем изменения, которые вносятся от одной версии к другой. Этот подход позволяет нам вернуть предыдущие версии в бизнес-объекты, а затем вернуться назад, вызвав те же операции сохранения. Ответственность за эту функцию возврата будет возложена на приложения, поскольку она должна быть решена здесь, иначе нашей службе может потребоваться слишком много сведений об участвующих приложениях. Предоставляются операции обслуживания для получения записей по версиям, по датам, просмотра истории и, конечно же, для аудита изменений. Это подход по выбору для разных групп приложений и разных сущностей внутри (не все в БД нужно проверять, так зачем это делать).

Затем мы создаем легкий веб-сайт, который взаимодействует со службой и может отображать все версии. Мы создали механизм для отображения добавлений / обновлений / удалений для сравнения между версиями (действительно крутое представление пользовательского интерфейса), который позволяет пользователям видеть, кто что и когда изменил. Служба может отправить ссылку на URL-адрес для просмотра версий объекта. Это позволяет нашим приложениям webaps + winform / wpf запускать браузер, чтобы пользователи могли видеть изменения.

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

2
ответ дан 17 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: