|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Имеется 2 Access базы. Одна старая база, другая обновленная. Обновленная база может включать в себя следующие изменения: -Добавилась новая таблица -Добавилась новая запись -Добавилась новая колонка -Изменилос значение колонки и т д и тоже самое, но с удалением Как лучше всего выполнить сравнение 2 ух баз? Есть вариант, сравнить тупо запросами, но не будет ли это медленно? Есть мысль грузануть все в память. Но я не знаю каким образом это лучше делать и как проводить сравнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:31 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810, Что такое - изменилось значение колонки? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:35 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Имеется 2 Access... Как лучше всего выполнить сравнениеА почему вопрос в WinForms? Нужно именно программу написать, готовая программа для сравнения не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:42 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Изопропил, Например, по Id=1 в колонке было значение "Кот" стало "Собака". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:46 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Shocker.Pro, я пытался найти готовое решение, которое можно интегрировать в свою программу, но не нашел. Если что-нибудь знаешь, то прошу кинуть пример таких решений. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:46 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Изопропил, Например, по Id=1 в колонке было значение "Кот" стало "Собака". Как то принято в реляционный безе строки, а не колонки сравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 18:52 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Изопропил,Да, наверное, правильнее как вы говорите. "Выявить изменения в строках" - так правильнее задача звучит ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:01 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810, А что должно быть результатом сравнения? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:03 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
терминологияiluxa1810Изопропил,Да, наверное, правильнее как вы говорите. "Выявить изменения в строках" - так правильнее задача звучит ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:07 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Изопропил, Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:08 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
есть специальные программы для сравнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:08 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значението есть что-то типа лога? А цель какова? Обычно при программном сравнении создают достаточно специализированные сравнения, а не так, огульно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:09 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Antonariy, Для меня важна интеграция. Смогу ли я ее интегрировать в другую программу на C# и вызывать ее и получать результаты? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:09 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Изопропил, Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение Не взлетит ..... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:11 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Shocker.Pro, Цель: Выявить изменения между старой и новой базой. Да, что-то типа лога. На вход должно подаваться пути к 2 ум базам, а на выходе должен выдаваться какой-то результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:11 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Цель: Выявить изменения между старой и новой базой.Для такой цели достаточно сторонней программы. Раз нужна интеграция со своей программой, значит есть еще какая-та цель. Что делать дальше с выявленными изменениями? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:16 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Antonariy, Для меня важна интеграция. Смогу ли я ее интегрировать в другую программу на C# и вызывать ее и получать результаты? так данные или метаданные нужно сравнивать? Насчёт метаданных - кроме наименований и типов колонок - у колонок есть значения по умолчанию и констрейнты У таблиц - первичные ключи, свойства идентити полей, констрейнты,индексы,связи Любое отклонение может привести к несовместимости ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:16 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Shocker.Pro, Это все отсылается в MS SQL БД, если произошли структурные изменения, выполняются одни действия, если проищошли только изменения по данным, то другие. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:21 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
То есть "Что-то типа: Название таблицы|Название колонки|Что произошло|Новое значение|Старое значение" "отсылается" в БД. А что такое "отсылается"? Кто там его принимает с той стороны, и какие "одни" и "другие" действия он выполняет на основании произвольного формата отсылки изменений? ЗЫ: Что-то бредом пока попахивает.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:27 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Shocker.Pro, В Общем, есть некоторое хранилище Access Баз, юзер может скачать из него базу и поменять, потом вернуть назад. Служба должна выявить изменения, и если изменения только по данным, то сохранить базу в хранилище и заменить старую версию на актуальную в местах, где она используется. Если изменение структурное и база где-нибудь используется, то служба не сможет принять базу, так как могут произойти конфликты в тех местах, где используется старая версия базы. Логирование всех изменений позволяет получить в любой момент информацию о том, какой юзер ввнес какие правки в базу. Так понятнее общий смысл? Для этого я и хочу иметь средство для сравнения баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 19:54 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810, Так достаточно метаданные сравнить - изменили структуру - базу в корзину, к пользователю -админитративные санкции применить ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 20:04 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Изопропил, хочется так же логировать изменения. Допустим ползователь снес пол записей из таблицы. Имея изменения, которые привязаны к юзеру, я могу его найти. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 20:18 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810Изопропил, хочется так же логировать изменения. Допустим ползователь снес пол записей из таблицы. Имея изменения, которые привязаны к юзеру, я могу его найти. 1) измена структура - дальше можно не смотреть, пользователя наказать 2) структура неизменна - какие изменения в данных разрешено делать пользователю? ЗЫ кто задачу поставил? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 20:21 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
Изопропил, изменения по данным можно делать любые. Другое дело, если изменения по данным логируются, то я смогу всегда понять когда они были сделаны и кем и от этого "плясать". Сами базы по себе представляют словари, которые используются в работе других программ. Например, в базе была сделана неверная корректировка значения. Имея логи, я могу найти пользователя, который сделал неверные правки, узнать дату неверных правок и знать с какого момента программы начали использовать некорректные словари и многое другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 20:29 |
|
Сравнить 2 базы на предмет изменений
|
|||
---|---|---|---|
#18+
iluxa1810, Имхо логичней принимать и отдавать отдельные строки со своей структурой для изменения конкретной базы, например в json-формате и предусмотреть соответствующий интерфейс. А дальше уже резолвить коллизии. Ну а если у Вас гоняется ту сюда вся база то единственный вариант это скриптами тащить структуру/данные и сравнивать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2016, 20:36 |
|
|
start [/forum/topic.php?fid=20&fpage=64&tid=1400716]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
205ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 585ms |
0 / 0 |