Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как сравнить параметры полей SQL двух таблиц базы ?

v7: Как сравнить параметры полей SQL  двух таблиц базы ?
Я
   Холст
 
03.08.20 - 17:30
Есть две базы SQL для 1С 7.7
у них одинаковые таблицы, например SC172, но состав полей отличается (разная длина реквизитов или где-то нет какого-то поля)
Каким SQL запросом можно сравнить параметры полей этих таблиц, чтобы увидеть отличия ? файла *.dds и *.MD нет чтобы сравнить средствами конфигуратора 1С

Может у кого есть готовый скрипт
   Холст
 
1 - 03.08.20 - 17:32
Цель - восстановление базы 1С по  базе данных SQL без файла MD/DDS  но с похожими типовыми файлами
   trdm
 
2 - 03.08.20 - 17:35
Вытащи схему БД с SQL сервера и сравни.
   trdm
 
3 - 03.08.20 - 17:40
   lEvGl
 
4 - 03.08.20 - 17:41
в 8 в скл есть таблица со списком и описанием таблиц, в 7.7 тоже должны быть
   Ёпрст
 
5 - 03.08.20 - 17:44
Где то валялся готовый скрипт, надо поискать
   Ёпрст
 
6 - 03.08.20 - 17:53
Ну и..тупо на копии подсовываешь левый мд и словарик и делаешь Тии без исправления только с одной галкой, он те покажет , какие поля не те
   Ёпрст
 
7 - 03.08.20 - 17:53
Хотя, скриптом в скуле мгновенно получишь это
   Холст
 
8 - 03.08.20 - 17:59
Пока полувручную в обоих базах запрос 
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS

WHERE 1=1 
AND TABLE_NAME = 'SC172' --Имя таблицы
Order by TABLE_NAME
   Ёпрст
 
9 - 03.08.20 - 18:09
(8) ну дык , в INFORMATION_SCHEMA.COLUMNS же всё есть, сравнивай, где table_name одинаковый в обеих базах, а data_type разный
   Ёпрст
 
10 - 03.08.20 - 18:33
SELECT t1.TABLE_NAME,t1.COLUMN_NAME,
       t2.TABLE_NAME,t2.COLUMN_NAME
   FROM base1.INFORMATION_SCHEMA.COLUMNS as t1
   full outer join base2.INFORMATION_SCHEMA.COLUMNS as t2 on t1.TABLE_NAME = t2.TABLE_NAME and t1.DATA_TYPE = t2.DATA_TYPE and t1.COLUMN_NAME=t2.COLUMN_NAME
where t1.TABLE_NAME is null  or t2.TABLE_NAME is null
   trdm
 
11 - 03.08.20 - 19:27
(8) Это долго. можно схему вытащить как в (3) и сравнить KDiff-om.
http://kdiff3.sourceforge.net/
а так долго провозишся.
   Ёпрст
 
12 - 03.08.20 - 22:03
(11) да ну..запрос в (10) на упп базе миллисекунды выполняется

Список тем форума
Рекламное место пустует  Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.