![]() |
|
v7: Как сравнить параметры полей SQL двух таблиц базы ? | ☑ | ||
---|---|---|---|---|
0
Холст
03.08.20
✎
17:30
|
Есть две базы SQL для 1С 7.7
у них одинаковые таблицы, например SC172, но состав полей отличается (разная длина реквизитов или где-то нет какого-то поля) Каким SQL запросом можно сравнить параметры полей этих таблиц, чтобы увидеть отличия ? файла *.dds и *.MD нет чтобы сравнить средствами конфигуратора 1С Может у кого есть готовый скрипт |
|||
1
Холст
03.08.20
✎
17:32
|
Цель - восстановление базы 1С по базе данных SQL без файла MD/DDS но с похожими типовыми файлами
|
|||
2
trdm
03.08.20
✎
17:35
|
Вытащи схему БД с SQL сервера и сравни.
|
|||
3
trdm
03.08.20
✎
17:40
|
||||
4
lEvGl
гуру
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 |
|||
11
trdm
03.08.20
✎
19:27
|
(8) Это долго. можно схему вытащить как в (3) и сравнить KDiff-om.
http://kdiff3.sourceforge.net/ а так долго провозишся. |
|||
12
Ёпрст
гуру
03.08.20
✎
22:03
|
(11) да ну..запрос в (10) на упп базе миллисекунды выполняется
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |