Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнить 2 базы на предмет изменений / 25 сообщений из 34, страница 1 из 2
19.03.2016, 18:31
    #39196116
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Имеется 2 Access базы.
Одна старая база, другая обновленная.
Обновленная база может включать в себя следующие изменения:
-Добавилась новая таблица
-Добавилась новая запись
-Добавилась новая колонка
-Изменилос значение колонки
и т д
и тоже самое, но с удалением

Как лучше всего выполнить сравнение 2 ух баз?

Есть вариант, сравнить тупо запросами, но не будет ли это медленно?

Есть мысль грузануть все в память.
Но я не знаю каким образом это лучше делать и как проводить сравнение?
...
Рейтинг: 0 / 0
19.03.2016, 18:35
    #39196117
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810,

Что такое - изменилось значение колонки?
...
Рейтинг: 0 / 0
19.03.2016, 18:42
    #39196122
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Имеется 2 Access... Как лучше всего выполнить сравнениеА почему вопрос в WinForms? Нужно именно программу написать, готовая программа для сравнения не подходит?
...
Рейтинг: 0 / 0
19.03.2016, 18:46
    #39196125
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Изопропил,
Например, по Id=1 в колонке было значение "Кот" стало "Собака".
...
Рейтинг: 0 / 0
19.03.2016, 18:46
    #39196126
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Shocker.Pro, я пытался найти готовое решение, которое можно интегрировать в свою программу, но не нашел.
Если что-нибудь знаешь, то прошу кинуть пример таких решений.
...
Рейтинг: 0 / 0
19.03.2016, 18:52
    #39196130
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Изопропил,
Например, по Id=1 в колонке было значение "Кот" стало "Собака".
Как то принято в реляционный безе строки, а не колонки сравнивать
...
Рейтинг: 0 / 0
19.03.2016, 19:01
    #39196132
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Изопропил,Да, наверное, правильнее как вы говорите. "Выявить изменения в строках" - так правильнее задача звучит
...
Рейтинг: 0 / 0
19.03.2016, 19:03
    #39196135
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810,

А что должно быть результатом сравнения?
...
Рейтинг: 0 / 0
19.03.2016, 19:07
    #39196139
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
терминологияiluxa1810Изопропил,Да, наверное, правильнее как вы говорите. "Выявить изменения в строках" - так правильнее задача звучит
При работе с таблицами БД лучше использовать термины Поле и Запись , а не столбцы, строки, колонки, ячейки и прочая ересь. Так и вы меньше запутаетесь и вас лучше поймут.
...
Рейтинг: 0 / 0
19.03.2016, 19:08
    #39196141
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Изопропил,

Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение
...
Рейтинг: 0 / 0
19.03.2016, 19:08
    #39196143
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
есть специальные программы для сравнения.
...
Рейтинг: 0 / 0
19.03.2016, 19:09
    #39196144
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значението есть что-то типа лога? А цель какова? Обычно при программном сравнении создают достаточно специализированные сравнения, а не так, огульно.
...
Рейтинг: 0 / 0
19.03.2016, 19:09
    #39196145
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Antonariy,

Для меня важна интеграция. Смогу ли я ее интегрировать в другую программу на C# и вызывать ее и получать результаты?
...
Рейтинг: 0 / 0
19.03.2016, 19:11
    #39196146
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Изопропил,

Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение
Не взлетит .....
...
Рейтинг: 0 / 0
19.03.2016, 19:11
    #39196147
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Shocker.Pro,

Цель: Выявить изменения между старой и новой базой.
Да, что-то типа лога.
На вход должно подаваться пути к 2 ум базам, а на выходе должен выдаваться какой-то результат.
...
Рейтинг: 0 / 0
19.03.2016, 19:16
    #39196150
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Цель: Выявить изменения между старой и новой базой.Для такой цели достаточно сторонней программы. Раз нужна интеграция со своей программой, значит есть еще какая-та цель. Что делать дальше с выявленными изменениями?
...
Рейтинг: 0 / 0
19.03.2016, 19:16
    #39196151
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Antonariy,

Для меня важна интеграция. Смогу ли я ее интегрировать в другую программу на C# и вызывать ее и получать результаты?
так данные или метаданные нужно сравнивать?

Насчёт метаданных - кроме наименований и типов колонок - у колонок есть значения по умолчанию и констрейнты

У таблиц - первичные ключи, свойства идентити полей, констрейнты,индексы,связи

Любое отклонение может привести к несовместимости
...
Рейтинг: 0 / 0
19.03.2016, 19:21
    #39196155
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Shocker.Pro,

Это все отсылается в MS SQL БД, если произошли структурные изменения, выполняются одни действия, если проищошли только изменения по данным, то другие.
...
Рейтинг: 0 / 0
19.03.2016, 19:27
    #39196160
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
То есть "Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение" "отсылается" в БД. А что такое "отсылается"? Кто там его принимает с той стороны, и какие "одни" и "другие" действия он выполняет на основании произвольного формата отсылки изменений?

ЗЫ: Что-то бредом пока попахивает....
...
Рейтинг: 0 / 0
19.03.2016, 19:54
    #39196173
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Shocker.Pro,

В Общем, есть некоторое хранилище Access Баз, юзер может скачать из него базу и поменять, потом вернуть назад.
Служба должна выявить изменения, и если изменения только по данным, то сохранить базу в хранилище и заменить старую версию на актуальную в местах, где она используется.
Если изменение структурное и база где-нибудь используется, то служба не сможет принять базу, так как могут произойти конфликты в тех местах, где используется старая версия базы.

Логирование всех изменений позволяет получить в любой момент информацию о том, какой юзер ввнес какие правки в базу.

Так понятнее общий смысл? Для этого я и хочу иметь средство для сравнения баз.
...
Рейтинг: 0 / 0
19.03.2016, 20:04
    #39196180
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810,

Так достаточно метаданные сравнить - изменили структуру - базу в корзину, к пользователю -админитративные санкции применить
...
Рейтинг: 0 / 0
19.03.2016, 20:18
    #39196186
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Изопропил, хочется так же логировать изменения.
Допустим ползователь снес пол записей из таблицы.
Имея изменения, которые привязаны к юзеру, я могу его найти.
...
Рейтинг: 0 / 0
19.03.2016, 20:21
    #39196188
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810Изопропил, хочется так же логировать изменения.
Допустим ползователь снес пол записей из таблицы.
Имея изменения, которые привязаны к юзеру, я могу его найти.

1) измена структура - дальше можно не смотреть, пользователя наказать

2) структура неизменна - какие изменения в данных разрешено делать пользователю?

ЗЫ кто задачу поставил?
...
Рейтинг: 0 / 0
19.03.2016, 20:29
    #39196191
iluxa1810
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
Изопропил,

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

Сами базы по себе представляют словари, которые используются в работе других программ.

Например, в базе была сделана неверная корректировка значения.

Имея логи, я могу найти пользователя, который сделал неверные правки, узнать дату неверных правок и знать с какого момента программы начали использовать некорректные словари и многое другое.
...
Рейтинг: 0 / 0
19.03.2016, 20:36
    #39196193
L.Otujktd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сравнить 2 базы на предмет изменений
iluxa1810,

Имхо логичней принимать и отдавать отдельные строки со своей структурой для изменения конкретной базы, например в json-формате и предусмотреть соответствующий интерфейс. А дальше уже резолвить коллизии.
Ну а если у Вас гоняется ту сюда вся база то единственный вариант это скриптами тащить структуру/данные и сравнивать
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сравнить 2 базы на предмет изменений / 25 сообщений из 34, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]