Порівняння двох баз запитом з використанням інструментів розробника і com-з'єднання

Як порівняти різні інформаційні бази запитом? Як обробити результат порівняння зручним та гнучким інструментом?

Завдання порівняння даних в різних інформаційних базах не є новою, що підтверджується великою кількістю обробок на infostart-e, що описують спосіб цього порівняння через com - з'єднання.

Вибір описуваного інструменту пояснюється тим, що часто постають завдання спочатку порівняти дані в різних інформаційних базах, а в разі розбіжності обробити знайдене відмінність.

Прикладом застосування може бути як порівняння вузлів розподіленої інформаційної бази, з однаковими конфігураціями, так і зіставлення даних між системою бухгалтерського та оперативного обліку

У складі описуваних інструментів є консоль запитів, що дозволяє перед виконанням запиту вставити довільний код.

Порівняння двох баз запитом з використанням інструментів розробника і com-з'єднання

В результаті з'являється можливість здійснити порівняння за наступною схемою

1. Перед виконанням запиту:

а. Встановлюємо з'єднання з зовнішньої інформаційною базою;

б. Відкриваємо в інший інформаційної базі зовнішню обробку, в модулі якої є функція, яка повертає таблицю для порівняння з даними поточної бази.

У зв'язку з відомим обмеженням при передачі посилальних типів за допомогою COM-з'єднання таблиці, одержувані на стороні іншої інформаційної бази, доповнюються унікальними ідентифікаторами для порівняння значень колонок з типом довідник або документ;

в. Розміщуємо дані таблиці com-об'єкта з іншої інформаційної бази в тимчасову таблицю запиту;

2. Виконуємо запит з повним з'єднанням для виявлення різниці таблиць

3. У разі необхідності обробляємо результат запиту

Порівняння двох баз запитом з використанням інструментів розробника і com-з'єднання

Описуваний підхід і інструменти зручно застосовувати, наприклад, для тестування результатів конвертації даних. При цьому перевірка збігу різних видів об'єктів метаданих потребують невеликих варіацій коду, що відображено в прикладах пропонованого для завантаження файлу запиту.

Порівняння двох баз запитом з використанням інструментів розробника і com-з'єднання

Результат порівняння можна для наочності згрупувати, виводячи в дерево результату підсумкове поле, як на малюнку нижче

Порівняння двох баз запитом з використанням інструментів розробника і com-з'єднання

Зрозуміло, далеко не завжди у порівнюваних інформаційних баз унікальні ідентифікатори об'єктів посилального типу збігаються, як у запропонованому прикладі. Що стосується розбіжності ідентифікаторів потрібно визначити інші критерії відповідності.

Схожі статті