как сравнить/проверить sql схему

Это должно помочь

    yourJFrame.setFocusable(true);
    yourJFrame.addKeyListener(new java.awt.event.KeyAdapter() {


        @Override
        public void keyTyped(KeyEvent e) {
            System.out.println("you typed a key");
        }

        @Override
        public void keyPressed(KeyEvent e) {
            System.out.println("you pressed a key");
        }

        @Override
        public void keyReleased(KeyEvent e) {
            System.out.println("you released a key");
        }
    });
15
задан ConcernedOfTunbridgeWells 3 October 2008 в 14:50
поделиться

8 ответов

Попробуйте этот SQL.
- Выполнение это против каждой базы данных.
- Сохраняют вывод к текстовым файлам.
- Разность текстовые файлы.

/* get list of objects in the database */
SELECT name, 
       type 
FROM  sysobjects
ORDER BY type, name

/* get list of columns in each table / parameters for each stored procedure */
SELECT so.name, 
       so.type, 
       sc.name, 
       sc.number, 
       sc.colid, 
       sc.status, 
       sc.type, 
       sc.length, 
       sc.usertype , 
       sc.scale 
FROM   sysobjects  so , 
       syscolumns  sc 
WHERE  so.id = sc.id 
ORDER BY so.type, so.name, sc.name

/* get definition of each stored procedure */
SELECT so.name, 
       so.type, 
       sc.number, 
       sc.text 
FROM   sysobjects  so , 
       syscomments sc 
WHERE  so.id = sc.id 
ORDER BY so.type, so.name, sc.number 
22
ответ дан 1 December 2019 в 00:33
поделиться

Можно сделать это программно путем взгляда в словаре данных (sys.objects, sys.columns и т.д.) обеих баз данных и сравнения их. Однако существуют также инструменты как , SQL Redgate Сравнивает Pro, которые делают это для Вас. Я определил это как часть инструментов для QA в системах хранилища данных в нескольких случаях теперь, включая тот, который я в настоящее время продолжаю работать. На моем текущем концерте это не было никакой проблемой вообще, поскольку DBA здесь уже использовал его.

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

Насколько я знаю, нет ничего свободного, которое делает это, если Вы не испытываете желание писать свое собственное. Redgate является достаточно дешевым, что это могло бы также быть свободно. Как раз когда инструмент QA, чтобы доказать, что производственный DB не находится в конфигурации, это было предназначено, чтобы быть этим, сохранит Вас ее покупная цена после одного инцидента.

8
ответ дан 1 December 2019 в 00:33
поделиться

При поиске инструмента, который может сравнить две базы данных и показать Вам значение, которое Красный Логический элемент имеет , SQL Выдерживает сравнение

1
ответ дан 1 December 2019 в 00:33
поделиться

Вы не упоминали, какой RDMBS Вы используете: если представления ИНФОРМАЦИОННОЙ СХЕМЫ доступны в Вашем RDBMS, и если можно сослаться на обе схемы от того же хоста, можно запросить представления ИНФОРМАЦИОННОЙ СХЕМЫ для идентификации различий в: - таблицы - столбцы - типы столбца - ограничения (например, первичные ключи, ограничения на уникальность данных, внешние ключи, и т.д.)

я записал ряд запросов для точно этой цели на SQL Server для прошлого задания - это работало хорошо для идентификации различий. Многие запросы использовали ОСТАВЛЕННЫЕ СОЕДИНЕНИЯ с, ЯВЛЯЕТСЯ ПУСТЫМ для проверки на отсутствие ожидаемых объектов, другие сравнивали вещи как ограничительные имена или типы столбца.

Это немного утомительно, но его возможное.

1
ответ дан 1 December 2019 в 00:33
поделиться

Сделайте таблицу и сохраните свой номер версии там. Просто удостоверьтесь, что Вы обновляете его по мере необходимости.

CREATE TABLE version (
    version VARCHAR(255) NOT NULL
)
INSERT INTO version VALUES ('v1.0');

можно ли тогда проверить, что номер версии, сохраненный в базе данных, соответствует коду приложения во время установки приложения или везде, где удобно.

0
ответ дан 1 December 2019 в 00:33
поделиться

Который RDBMS - это, и насколько сложный потенциальные изменения?

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

0
ответ дан 1 December 2019 в 00:33
поделиться

Попробуйте dbForge Data Compare for SQL Server. Она может сравнивать и синхронизировать любые базы данных, даже очень большие. Быстро, легко, всегда выдает правильный результат. Попробуйте ее на своей базе данных и прокомментируйте продукт.

Мы можем порекомендовать вам надежный инструмент сравнения SQL, который предлагает в 3 раза более быстрое сравнение и синхронизацию данных таблиц в ваших базах данных SQL Server. Это dbForge Data Compare for SQL Server.

Основные преимущества:

  • Более быстрое сравнение и синхронизация больших баз данных
  • Поддержка собственных резервных копий SQL Server
  • Пользовательское отображение таблиц, столбцов и схем
  • Множество опций для настройки сравнения и синхронизации
  • Генерация отчетов о сравнении и синхронизации

Плюс бесплатная 30-дневная пробная версия и покупка без риска с 30-дневной гарантией возврата денег.

0
ответ дан 1 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

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