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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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