LOADFILE

В случае сред назначения Db2 опция LOADFILE позволяет сгенерировать файл, содержащий команду Db2 для выгрузки выходного файла в Db2. Для формата DSNTIAUL генерируемый файл загрузки содержит команды для утилиты LOAD Db2 for z/OS. В случае других сред назначения опция LOADFILE позволяет сгенерировать файл, содержащий команду для закачки выходного файла в рассматриваемые среды назначения.

Синтаксис
LOADFILE (“путь/имя_файла”|“хост:путь/имя_файла”)
Переменная
путь/имя_файла

Допустимое имя файла и (необязательно) существующий путь, заключенный в двойные кавычки.

хост:путь/имя_файла

Имя хоста назначения, где вы хотите сгенерировать файл загрузки, допустимое имя файла и (необязательно) существующий путь, заключенный в двойные кавычки.

Поддержка шаблона
Переменные хост, путь и имя_файла поддерживают следующие ключевые слова шаблона Optim High Performance Unload:
%{source_node}
Это ключевое слово соответствует узлам базы данных, где запускается Optim High Performance Unload.
%{source_host}
Это ключевое слово соответствует хосту узлов базы данных, где запускается Optim High Performance Unload.
%{target_node}
Это ключевое слово соответствует узлам базы данных назначения, если требуется процесс переразделения на разделы. Если переразделение на разделы не требуется, это ключевое слово игнорируется.
%{target_host}
Это ключевое слово соответствует хостам узлов базы данных назначения, если требуется процесс переразделения на разделы. Если переразделение на разделы не требуется, это ключевое слово игнорируется.
%{tablespace_name}
Это ключевое слово соответствует имени табличного пространства, в котором находится выгруженная таблица.
%{table_schema}
Это ключевое слово соответствует схеме выгруженной таблицы.
%{table_name}
Это ключевое слово соответствует имени выгруженной таблицы.
Ограничение: Переменная хост поддерживает только ключевые слова шаблона %{source_host} и %{target_host}.
По умолчанию
Нет значения по умолчанию.

Пример: Генерирование файла загрузки

По умолчанию генерируется один файл загрузки для каждого хоста, на котором генерируются выходные файлы. Например, вы хотите создать файлы загрузки Db2 в среде, определяемой следующим файлом db2nodes.cfg:
6    M1 0
9    M1 1
12   M2 0
Можно использовать следующий управляющий файл, где в условии OUTFILE задаются ключевые слова шаблона %{source_host) и %{source_node}:
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE

SELECT * FROM EMPLOYEE;
OUTFILE("%{source_host):employee.del.%{source_node}")
LOADFILE("employee.load")
FORMAT DEL
Optim High Performance Unload создает три файла данных и два файла загрузки:
  • На хосте M1: файлы данных employee.del.006 и employee.del.009 и файл загрузки employee.load, содержащий информацию о файлах employee.del.006 и employee.del.009:
    LOAD FROM "employee.del.006", "employee.del.009" OF DEL
    INSERT INTO EMPLOYEE (EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT,
        PHONENO,HIREDATE,JOB,EDLEVEL,SEX,BIRTHDATE,SALARY,BONUS,COMM);
    
  • На хосте M2: файл данных employee.del.012 и файл загрузки employee.load, содержащий информацию о файле employee.del.012:
    LOAD FROM "employee.del.012" OF DEL
    INSERT INTO EMPLOYEE (EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT,
        PHONENO,HIREDATE,JOB,EDLEVEL,SEX,BIRTHDATE,SALARY,BONUS,COMM);
    

Пример: Генерирование файла загрузки и переразделение на разделы

Для эффективной загрузки данных Optim High Performance Unload генерирует конкретную команду загрузки, учитывающую уже выполненную работу по переразделению на разделы, если задано условие target. По умолчанию создается один файл загрузки на каждом из хостов, где выгружаются выходные файлы данных, но каждый файл загрузки сможет загрузить все генерируемые выходные файлы.

Например, вы хотите загрузить данные из таблицы EMPLOYEE в разделы базы данных 5, 10 и 15. Рассмотрите следующий управляющий файл, выполняемый на хосте M1:
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
TARGET KEYS (DEFAULT PARTS (5,10,15))

SELECT * FROM EMPLOYEE;
OUTFILE("employee.del.%{target_node}")
LOADFILE("employee.load")
FORMAT DEL;
Optim High Performance Unload создает три файла данных и один файл загрузки на хосте M1:
  • Файлы данных employee.del.005, employee.del.010 и employee.del.015
  • Файл загрузки employee.load, содержащий информацию о трех файлах данных:
    LOAD FROM "employee.del" OF DEL
    INSERT INTO EMPLOYEE (EMPNO,FIRSTNME,MIDINIT,LASTNAME,WORKDEPT,PHONENO,
        HIREDATE,JOB,EDLEVEL,SEX,BIRTHDATE,SALARY,BONUS,COMM)
    PARTITIONED DB CONFIG MODE LOAD_ONLY ;
    
В этом случае команда загрузки считает имя файла employee.del как базовое и находит файлы с именами employee.del.XXX, где XXX - номер раздела базы данных. Принимая во внимание этот подход, команда загрузки найдет три сгенерированных файла данных и загрузит их в соответствующие разделы базы данных без переразделения на разделы.