Документація Database Tour нова закладка Зміст Індекс

Файл відповідностей полів

 

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

Підтримуються два типи форматів файлів відповідності полів: XML (рекомендований) та текст.

Формат XML

Даний формат є гнучким і розширюваним, тому рекомендується до використання скрізь, де можливо.

Такі файли відповідностей полів можуть бути створені або в діалозі Експорту на кроці Відповідність полів, або вручну з використанням текстового редактора. При створенні файлів вручну майте на увазі, що вони повинні відповідати стандартам XML та містити (при потребі) маркер порядку байтів (BOM) на початку.

Файл містить необов'язкову спільну частину та ряд відповідностей полів. Спільна частина може включати деяку технічну інформацію (наприклад, назву програми та її версію), а також ключові поля для спеціальних випадків експорту до баз даних або скрипта SQL.

Кожна відповідність полів повинна містити 2 частини: для джерела і для цілі.

Частина для джерела має містити атрибут FieldName - назва поля джерела або динамічний вираз.

Частина для цілі може містити змінний набір атрибутів (повинно бути заповнено як мінімум FieldName або FileName).

Приклад формату XML

Приклад файлу відповідності полів для експорту 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, якщо містить символи, не типові для назв полів цільової бази даних (наприклад, пробіли і т.д.), повинен братися в лапки або квадратні дужки у відповідності до правил цільової бази даних.