Документація Database Tour ![]() |
![]() ![]() |
Файл відповідностей полів |
Файли відповідностей полів містять відповідності полів джерело-ціль для операцій експорту та імпорту. Використовуйте файли відповідності полів при необхідності вжити одні і ті ж самі відповідності полів більше одного разу. Вони також можуть використовуватися під час експорту даних через командний рядок або файл операцій.
Підтримуються два типи форматів файлів відповідності полів: XML (рекомендований) та текст.
Даний формат є гнучким і розширюваним, тому рекомендується до використання скрізь, де можливо.
Такі файли відповідностей полів можуть бути створені або в діалозі Експорту на кроці Відповідність полів, або вручну з використанням текстового редактора. При створенні файлів вручну майте на увазі, що вони повинні відповідати стандартам XML та містити (при потребі) маркер порядку байтів (BOM) на початку.
Файл містить необов'язкову спільну частину та ряд відповідностей полів. Спільна частина може включати деяку технічну інформацію (наприклад, назву програми та її версію), а також ключові поля для спеціальних випадків експорту до баз даних або скрипта SQL.
Кожна відповідність полів повинна містити 2 частини: для джерела і для цілі.
Частина для джерела має містити атрибут FieldName - назва поля джерела або динамічний вираз.
Частина для цілі може містити змінний набір атрибутів (повинно бути заповнено як мінімум FieldName або FileName).
Приклад файлу відповідності полів для експорту Access-до-Oracle:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Відповідності Джерело-Ціль для агрегації платежів -->
<FieldMappings>
<Software>Database Tour Pro</Software>
<KeyFields>PAYMENT_ID</KeyFields>
<Items>
<FieldMapping>
<Source>
<FieldName>PaymentId</FieldName>
</Source>
<Target>
<FieldName>PAYMENT_ID</FieldName>
<FieldType>INTEGER</FieldType>
<PrimaryKey>1</PrimaryKey>
</Target>
</FieldMapping>
<FieldMapping>
<Source>
<FieldName>Department</FieldName>
</Source>
<Target>
<FieldName>DEPARTMENT</FieldName>
<FieldType>VARCHAR2</FieldType>
<FieldSize>20</FieldSize>
<FieldDescription>Department Name</FieldDescription>
</Target>
</FieldMapping>
<FieldMapping>
<Source>
<FieldName>ActualityDate</FieldName>
</Source>
<Target>
<FieldName>ACTUALITY_DATE</FieldName>
<FieldType>DATE</FieldType>
<FieldDescription>Date of Payment</FieldDescription>
</Target>
</FieldMapping>
<FieldMapping>
<Source>
<FieldName>PaymentSum</FieldName>
</Source>
<Target>
<FieldName>PAYMENT_SUM</FieldName>
<FieldType>NUMBER</FieldType>
<FieldSize>12</FieldSize>
<FieldScale>2</FieldScale>
<FieldDescription>Payment Amount</FieldDescription>
</Target>
</FieldMapping>
<FieldMapping>
<Source>
<!-- можливі динамічні вирази: -->
<FieldName>vle_expr(0.1 * dataset_field_val(1, 'PaymentSum'))</FieldName>
</Source>
<Target>
<FieldName>COMMISSION_SUM</FieldName>
<FieldType>NUMBER</FieldType>
<FieldSize>12</FieldSize>
<FieldScale>2</FieldScale>
<FieldDefaultValue>0</FieldDefaultValue>
<FieldSQLSpecification>NUMBER(12, 2) DEFAULT 0<
<FieldDescription>Commission Amount</FieldDescription>
</Target>
</FieldMapping>
<FieldMapping>
<Source>
<FieldName>Notes</FieldName>
</Source>
<Target>
<FieldName>NOTES</FieldName>
<FieldType>VARCHAR2</FieldType>
<FieldSize>400</FieldSize>
<FieldSQLSpecification>VARCHAR2(400)</FieldSQLSpecification>
<FieldDescription>Notes regarding the payment</FieldDescription>
<!-- використовуємо унікальне поле PaymentId, що мати унікальний шлях до файлу для кожного запису: -->
<FileName>vle_expr(extract_file_path(target_file_name(1)) + 'notes' + to_string(dataset_field_val(1, 'PaymentId')) + '.txt')</FileName>
</Target>
</FieldMapping>
</Items>
</FieldMappings>
Див. повний список атрибутів та їх опис.
Такі файли складаються з пар НазваПоляДжерела=НазваПоляЦілі, одна відповідність на рядок. Рекомендується, щоб назви полів не містили знаку рівності. Замість назви поля джерела можна використовувати динамічний вираз (див. приклад нижче). Рядки, що починаються на крапку з комою, вважаються коментарем і ігноруються програмою. Допускаються пусті рядки.
Такі файли можуть мати будь-яке розширення, їх можна створювати у будь-якому текстовому редакторі. При створенні файлів майте на увазі, що вони повинні відповідати стандартам XML та містити (при потребі) маркер порядку байтів (BOM) на початку.
Приклад файлу відповідностей полів у текстовому форматі:
;Відповідності Джерело-Ціль для експорту платежів
Department=DEPARTMENT
ActualityDate=ACTUALITY_DATE
PaymentCount=PAYMENT_COUNT
PaymentSum=PAYMENT_SUM
;можливі динамічні вирази:
vle_expr(0.1 * dataset_field_val(1, 'PaymentSum'))=COMMISSION_SUM
Зауваження
Цільовий атрибут FieldName, якщо містить символи, не типові для назв полів цільової бази даних (наприклад, пробіли і т.д.), повинен братися в лапки або квадратні дужки у відповідності до правил цільової бази даних.