FORMAT

В условии FORMAT можно задать различные выходные форматы для Optim High Performance Unload.

FORMAT
Используйте опцию FORMAT, чтобы указать формат выходных данных, которые будут создаваться. Если эта опция не задана, используется формат DEL.
Синтаксис
FORMAT DEL|IXF|DELIMITED|ASC|DSNTIAUL|XML|MIGRATION|JSON
Переменная
Нет значения переменной
По умолчанию
DEL
В числе этих поддерживаемых форматов некоторые поддерживаются как входные для утилиты Db2 Load (DEL, IXF, DELIMITED, ASC). Если задать один из таких форматов, можно также задать опцию MODIFIED BY со списком ключевых слов, соответствующих модификаторам утилиты Db2 Load. При генерировании команды Db2 Load все заданные модификаторы влияют на содержимое команды. Некоторые из этих модификаторов могут также влиять на способ извлечения данных в файле вывода.
Вот список модификаторов, поддерживаемых как ключевые слова опции MODIFIED BY и не влияющих на выгрузку данных:
  • ANYORDER
  • GENERATEDIGNORE
  • GENERATEDMISSING
  • GENERATEDOVERRIDE
  • IDENTITYIGNORE
  • IDENTITYMISSING
  • IDENTITYOVERRIDE
  • IMPLICITLYHIDDENINCLUDE
  • IMPLICITLYHIDDENMISSING
  • НЕТ ПРЕДУПРЕЖДЕНИЙ СТРОК
  • PERIODIGNORE
  • PERIODMISSING
  • PERIODOVERRIDE
  • ROWCHANGETIMESTAMPIGNORE
  • ROWCHANGETIMESTAMPMISSING
  • ROWCHANGETIMESTAMPOVERRIDE
  • TRANSACTIONIDIGNORE
  • TRANSACTIONIDMISSING
  • TRANSACTIONIDOVERRIDE
  • USEDEFAULTS
Обратитесь к документации по Db2 за описанием этих модификаторов.
Вот список модификаторов, поддерживаемых как ключевые слова опции MODIFIED BY, которую надо определить со значением в качестве параметра:
CDEANALYZEFREQUENCY
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор CDEANALYZEFREQUENCY в опции MODIFIED BY. Следует задавать числовое значение между 0 и 99 включительно. Например:
CDEANALYZEFREQUENCY 15
INDEXFREESPACE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор INDEXFREESPACE в опции MODIFIED BY. Следует задавать числовое значение между 0 и 99 включительно. Например:
INDEXFREESPACE 10
MAXANALYZESIZE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, то сгенерированная команда Db2 Load будет содержать модификатор MAXANALYZESIZE в опции MODIFIED BY. Далее должно следовать числовое значение, а за ним - символ ‘M’ или ‘G’, соответствующий мегабайтам или гигабайтам. Например:
MAXANALYZESIZE 100M
PAGEFREESPACE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор PAGEFREESPACE в опции MODIFIED BY. Следует задавать числовое значение между 0 и 100 включительно. Например:
PAGEFREESPACE 20
TOTALFREESPACE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор TOTALFREESPACE в опции MODIFIED BY. Оно должно быть задано с целым числом больше или равно 0. Например:
TOTALFREESPACE 5
Вот список модификаторов, поддерживаемых как ключевые слова опции MODIFIED BY и влияющих на способ извлечения данных меток защиты в файле вывода:
SECLABELCHAR
При выполнении задачи в собственном режиме используйте модификатор SECLABELCHAR, если хотите заменить в файле вывода значения меток защиты их соответствующими значениями формата строки. Использование этого модификатора для задачи, которую обрабатывает механизм Db2, не влияет на способ выгрузки значений меток защиты. Если также задано условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор SECLABELCHAR в опции MODIFIED BY. Этот модификатор несовместим с модификатором SECLABELNAME. Если их задать вместе, второй заданный будет проигнорирован.
SECLABELNAME
При выполнении задачи в собственном режиме, используйте модификатор SECLABELNAME, если хотите заменить в выходном файле значения меток защиты их соответствующими именами меток, если они существуют. Каждое значение метки защиты не обязательно соответствует метке, созданной точно для этого значения. Этот модификатор можно использовать, только если у всех значений меток защиты, вовлеченных в данную задачу, есть соответствующая метка. Использование этого модификатора для задачи, которую обрабатывает механизм Db2, не влияет на способ выгрузки значений меток защиты. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор SECLABELNAME в опции MODIFIED BY. Этот модификатор несовместим с модификатором SECLABELCHAR. Если их задать вместе, второй заданный будет проигнорирован.
DEL
Формат DEL - это формат ASCII с ограничителями, использующий тот же ограничитель и разделитель столбцов, что и команда Db2 Export. Более подробную информацию, относящуюся к выходным данным команды Db2 Export смотрите в публикациях по Db2. Если для переноса данных используется формат DEL, можно использовать следующую опцию:
INTO имя_таблицы или спецификатор.имя_таблицы
При переносе и загрузке конкретной таблицы с заданием для нее явного требования SELECT, можно использовать опцию INTO, чтобы предоставить имя таблицы. Если спецификатор и имя таблицы назначения отличаются от соответствующих значений для исходной таблицы, спецификатор и имя можно задать с помощью опции INTO. Optim High Performance Unload использует имя таблицы и спецификатор из условия INTO в соответствующей команде LOAD, а не из исходной таблицы.
Важное замечание: Если не указывать имя с использованием условия INTO, в файле загрузки будет использоваться имя исходной таблицы.
Модификаторы MODIFIED BY
При помощи опции MODIFIED BY в условии FORMAT DEL можно задать модификаторы Db2 Load, влияющие на генерирование соответствующей команды Db2 Load. Опция MODIFIED BY должна содержать по крайней мере один из модификаторов, показанных в начале описания условия FORMAT. Можно задать несколько модификаторов, задав опцию MODIFIED BY, после которой следует список нужных разделенных пробелами модификаторов. Например:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
DELPRIORITYCHAR
Используйте модификатор DELPRIORITYCHAR, чтобы изменить приоритет ограничителей, используемый командой Db2 Load для ограничителя символов, ограничителя записей и ограничителя столбцов. По умолчанию приоритетный порядок - это ограничитель записей, ограничитель символов и ограничитель столбцов. Этот модификатор не воздействует на выгруженные данные; он участвует только в сгенерированной команде LOAD.
FASTPARSE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор FASTPARSE в опции MODIFIED BY.
IXF
Integration Exchange Format (IXF) - это собственный формат обмена реляционных баз данных. Optim High Performance Unload генерирует ограничители конца записи, которые поддерживаются стандартами IXF. Если для переноса данных используется формат IXF, можно использовать и следующую опцию:
INTO имя_таблицы или спецификатор.имя_таблицы
При переносе и загрузке конкретной таблицы с заданием для нее явного требования SELECT, можно использовать опцию INTO, чтобы предоставить имя таблицы. Если спецификатор и имя таблицы назначения отличаются от соответствующих значений для исходной таблицы, спецификатор и имя можно задать с помощью опции INTO. Optim High Performance Unload использует имя таблицы и спецификатор из условия INTO в соответствующей команде LOAD, а не из исходной таблицы.
Важное замечание: Если не указывать имя с использованием условия INTO, в файле загрузки будет использоваться имя исходной таблицы.
Ограничение: Выходной формат IXF нельзя использовать при переносе данных в экземпляр Db2 назначения с несколькими разделами базы данных. Утилиту Db2 Load нельзя использовать для загрузки данных из файла IXF в среду многораздельной базы данных. Дополнительную информацию смотрите в документации по утилите Load Db2.
Модификаторы MODIFIED BY
При помощи опции MODIFIED BY в условии FORMAT IXF можно задать модификаторы Db2 Load, влияющие на генерирование соответствующей команды Db2 Load. Опция MODIFIED BY должна содержать по крайней мере один из модификаторов, показанных в начале описания условия FORMAT, или же один из модификаторов из следующего списка. Можно задать несколько модификаторов, задав опцию MODIFIED BY, после которой следует список нужных разделенных пробелами модификаторов. Например:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
FORCEIN
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор FORCEIN в опции MODIFIED BY.
NOCHECKLENGTHS
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор NOCHECKLENGTHS в опции MODIFIED BY.
DELIMITED
Формат DELIMITED действует аналогично формату DEL за тем исключением, что с помощью формата DELIMITED можно задать разделитель столбцов, ограничитель значений столбцов или опции ограничения столбцов со значениями null. Если не задать значение любой из опций формата с ограничителями, формат DELIMITED будет действовать точно так же, как формат DEL. При задании опций формата DELIMITED разделитель должен отличаться от ограничителя и содержать не более 1 байта. Выбранные символы для ограничителя и разделителя нужно заключить в одинарные кавычки. Можно задать одну или несколько из трех опций, используя пробелы между этими опциями. Чтобы задать значения для переменной блок_с_ограничителями, используйте следующий синтаксис:
DELIMITED INTO имя_таблицы|спецификатор.имя_таблицы 
MODIFIED BY модификаторы NULL DELIM NULLVAL "значение"
Или:
DELIMITED INTO имя_таблицы|спецификатор.имя_таблицы SEP|COLDEL 
'символ' DELIM|CHARDEL 'символ' NULL DELIM NULLVAL "значение"
где:
INTO имя_таблицы или спецификатор.имя_таблицы
При использовании опции LOADFILE можно использовать оператор INTO, чтобы предоставить имя и спецификатор таблицы назначения, что полезно в тех случаях, когда имя и спецификатор таблицы назначения отличаются от соответствующих значений исходной таблицы. Optim High Performance Unload использует имя таблицы и спецификатор из условия INTO в соответствующей команде LOAD, а не из исходной таблицы.
Важное замечание: Если не указывать имя с использованием условия INTO, в файле загрузки будет использоваться имя исходной таблицы.
MODIFIED BY модификаторы_с_ограничителями
При помощи опции MODIFIED BY в условии FORMAT DELIMITED можно задать модификаторы Db2 Load, влияющие на генерирование соответствующей команды Db2 Load. Кроме того, можно задать модификаторы из числа приведенных ниже, которые описывают способ выгрузки данных. Опция MODIFIED BY должна содержать по крайней мере один из модификаторов, показанных в начале описания условия FORMAT, или же один из модификаторов из следующего списка. Можно задать несколько модификаторов, задав опцию MODIFIED BY, после которой следует список нужных разделенных пробелами модификаторов. Например:
MODIFIED BY CHARDEL '%' DECPLUSBLANK
Совет: Можно использовать опцию MODIFIED BY, не создавая файл загрузки, чтобы изменить формат выгруженных данных (кроме модификатора DELPRIORITYCHAR, который не воздействует на выгруженные данные).
Модификаторы можно выбрать из следующего списка:
COLDEL 'char'|x'XX'
Используйте модификатор COLDEL, чтобы задать символ разделителя, используемый для разделения столбцов. Значение по умолчанию - это запятая (,).
CHARDEL 'char'|x'XX'
Используйте CHARDEL, чтобы задать ограничитель, используемый для окружение значений столбца. Значение по умолчанию - это символ двойной кавычки (“).
DECPT 'char'|x'XX'
Используйте модификатор DECPT, чтобы задать символ десятичного разделителя для десятичных данных. Значение по умолчанию - это точка (.). Этот модификатор несовместим с модификатором IMPLIEDDECIMAL.
DECPLUSBLANK
Используйте модификатор DECPLUSBLANK, чтобы задать, что положительные десятичные данные будут выгружаться с ведущим пробелом вместо знака плюс (+). По умолчанию используется знак (+).
NOCHARDEL
Используйте модификатор NOCHARDEL, если вы не хотите, чтобы значения столбцов окружались ограничителями. Когда задается модификатор NOCHARDEL, опции DOUBLE DELIM и DELPRIORITYCHAR игнорируются.
DELPRIORITYCHAR
Используйте модификатор DELPRIORITYCHAR, чтобы изменить приоритет ограничителей, используемый командой Db2 Load для ограничителя символов, ограничителя записей и ограничителя столбцов. По умолчанию приоритетный порядок - это ограничитель записей, ограничитель символов и ограничитель столбцов. Этот модификатор не воздействует на выгруженные данные; он участвует только в сгенерированной команде LOAD.
STRIPLZEROS
Используйте модификатор STRIPLZEROS для выгрузки десятичных данных без нулей в начале. Используйте эту опцию для экономии дискового пространства и повышения производительности по сравнению с выгрузкой данных с нулями в начале.
Например, если использовать следующий управляющий файл, Optim High Performance Unload создает выходной файл, содержащий значение +0001000.00:
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE DB2 NO 
SELECT BONUS FROM EMPLOYEE WHERE BONUS=1000;
OUTFILE("Out")
FORMAT DELIMITED;
Если добавить в условие FORMAT модификатор STRIPLZEROS, в выходном файле будет значение +1000.00:
FORMAT DELIMITED MODIFIED BY STRIPLZEROS;
KEEPBLANKS
Используйте модификатор KEEPBLANKS, если вы хотите учитывать пробельные символы при генерировании команды Db2 Load, чтобы ведущие и хвостовые пробелы в строках, не заключенные в ограничители, сохранялись при выполнении команды Db2 Load. Если модификатор NOCHARDEL не задан, модификатор KEEPBLANKS игнорируется.
IMPLIEDDECIMAL
Используйте модификатор IMPLIEDDECIMAL, если надо выгрузить данные десятичного типа без десятичного разделителя. Если также задано условие LOADFILE, то сгенерированная команда Db2 Load будет включать модификатор IMPLIEDDECIMAL в опции MODIFIED BY. Этот модификатор несовместим с модификатором DECPT.
USEGRAPHICCODEPAGE
Используйте модификатор USEGRAPHICCODEPAGE, если вы хотите выгружать данные двухбайтных символьных типов в кодовой странице DBCS в файл вывода. Если также задано условие LOADFILE, сгенерированная команда Db2 Load будет включать модификатор USEGRAPHICCODEPAGE в опции MODIFIED BY.
FASTPARSE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор FASTPARSE в опции MODIFIED BY.
Примечание
С помощью опций COLDEL, CHARDEL, DECPT можно в кавычках задать символы, используемые как разделители. Но это неприменимо к непечатным символом. Если в качестве разделителя нужно использовать непечатный символ, это можно сделать с помощью символа 'x', после которого следует шестнадцатеричное значение, выраженное двумя шестнадцатеричными цифрами между одинарными кавычками.
SEP 'символ'|x'XX' или COLDEL 'символ'|x'XX'
Используйте ключевые слова SEP и COLDEL, чтобы задать символ разделителя (ограничителя) для разделения столбцов. Пробел между ключевыми словами SEP или COLDEL и переменной ‘char' необязателен. В формате DEL в качестве этого символа используется запятая ( , ). Непечатные символы можно задавать как шестнадцатеричные спецификации.
Важное замечание: Ключевые слова SEP и COLDEL поддерживаются только для совместимости с более старыми версиями. Для новых условий FORMAT используйте вместо этого условие MODIFIED BY. Например, используйте MODIFIED BY COLDEL '%' вместо COLDEL '%'
DELIM 'символ'|x'XX' или CHARDEL 'символ'|x'XX'
Используйте ключевое слово DELIM, чтобы задать ограничитель для значений столбца. Пробел между ключевым словом DELIM и переменной 'символ' необязателен. В формате DEL в качестве ограничителя используется знак двойных кавычек ( " ). Ключевое слово CHARDEL можно использовать так же, как ключевое слово DELIM. Непечатные символы можно задавать как шестнадцатеричные спецификации.
Важное замечание: Ключевые слова CHARDEL и DELIM поддерживаются только для совместимости с более старыми версиями. Для новых условий FORMAT используйте вместо этого условие MODIFIED BY. Например, используйте MODIFIED BY CHARDEL '%' вместо CHARDEL '%'
NULL DELIM
Используйте ключевое слово NULL DELIM, чтобы задать, что нужно использовать ограничитель значений столбцов в столбцах, содержащих значения null. По умолчанию значения null столбцов не окружаются ограничителями. В результате указания ключевого слова NULL DELIM возникнет два последовательных ограничителя, указывающих на наличие столбца, содержащего значение null. Опция NULL DELIM применяется только к столбцам, требующим окружения ограничителями, например, формата DEL, для которого столбцам символов ограничители нужно, в отличие от столбцов целых чисел.
Например, если принимаются значения по умолчанию для разделителя столбцов (SEP) и ограничителя значений столбцов (DELIM), рассмотрим таблицу с тремя столбцами: INTEGER, CHARACTER(5) со значениями null и INTEGER. Поместим две строки в столбцах со следующими данными: (1,'row1',1) и (2,null,2). При выгрузке этих данных в формате DELIMITED без опции NULL DELIM две строки будут выглядеть следующим образом:
1,"row1 ",1  и 2,,2
При выгрузке этих данных в формате DELIMITED с включенной опцией NULL DELIM строки будут выглядеть так:
1,"row1 ",1  и 2,"",2
NULLVAL
При помощи опции NULLVAL можно задать значение, которое будет записываться в выходной файл, когда встретится пустое значение.
По умолчанию никакое значение, представляющее обнаруженное пустое значение, в выходной файл не записывается.
Например, рассмотрим следующий управляющий файл:
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM TB_NULL;
OUTFILE("outfile")
FORMAT DELIMITED;
При помощи этого файла управления Optim High Performance Unload создает выходной файл с таким содержимым:
[v_arr@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,,,
2,2,"",2014-01-01
3,3,"  ",2014-01-01
Если изменить спецификацию условия FORMAT, задав FORMAT DELIMITED NULLVAL "NULL", содержимое выходного файла станет таким:
[v_arr@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,NULL,NULL,NULL
2,2,"",2014-01-01
3,3,"  ",2014-01-01
Таким образом, пустые значения заменяются в сгенерированном файле на указанное значение.
ASC
Формат ASC - это файл последовательных значений ASCII без разделителей, содержащий записи фиксированной длины, упорядоченные по строкам и столбцам. Файлы ASC можно использовать с командой LOAD для обмена данными с любым продуктом ASCII, использующим формат данных со столбцами.

Формат ASC использует следующие опции:

INTO имя_таблицы или спецификатор.имя_таблицы
Если используется опция LOADFILE и нужно изменить имя таблицы назначения или значение спецификатор.имя_таблицы, новое имя, которое будет использоваться в файле LOAD, можно задать следующим образом:
FORMAT ASC INTO спецификатор.имя_таблицы
Например:
GLOBAL CONNECT TO SAMPLE; 
UNLOAD TABLESPACE 
FLUSH BUFFERPOOLS NO 
LOCK NO 
SELECT * FROM EMPLOYEE; 
CCSID(930,300) 
OUTFILE("test.out") LOADFILE("test.load") 
FORMAT ASC INTO DBHPU.EMPLOYEE; 
Полученный в результате файл загрузки (test.load) будет выглядеть следующим образом:
LOAD FROM test.out OF ASC 
MODIFIED BY STRIPTBLANKS 
METHOD L (1,6,7,18,19,20,34,36, 38, ...108,118) 
NULL INDICATORS(0,0,0,0,35,... 107) 
INSERT INTO TABLE DBHPU.EMPLOYEE 
(EMPNO,FIRSTNME,MIDINT,LASTNAME,WORKDEPT,...) 
Внимание: Если вы не задаете имя, используя условие INTO, в файле загрузки будет использоваться имя исходной таблицы.
Модификаторы MODIFIED BY
При помощи опции MODIFIED BY в условии FORMAT ASC можно задать модификаторы Db2 Load, влияющие на генерирование соответствующей команды Db2 Load. Кроме того, можно задать модификаторы из числа приведенных ниже, которые описывают способ выгрузки данных. Опция MODIFIED BY должна содержать по крайней мере один из модификаторов, показанных в начале описания условия FORMAT, или же один из модификаторов из следующего списка. Можно задать несколько модификаторов, задав опцию MODIFIED BY, после которой следует список нужных разделенных пробелами модификаторов. Например:
MODIFIED BY PACKEDDECIMAL STRIPNULLS
Совет: Возможности опции MODIFIED BY можно использовать, не создавая файл загрузки, чтобы изменить формат выгруженных данных.
BINARYNUMERICS
Используя модификатор BINARYNUMERICS, можно задать числовые данные (INTEGER, DECFLOAT или действительные данные), которые будут выгружаться в двоичном формате. Используемое двоичное представление всегда будет с обратным порядком байтов, как это предполагается в Db2 Load. По умолчанию при выгрузке двоичный формат для числовых данных не используется.

Если задана опция BINARYNUMERICS и одновременно выбрана опция LOADFILE, модификатор BINARYNUMERICS будет добавлен к условию MODIFIED BY в файле загрузки.

PACKEDDECIMAL
Используйте этот модификатор, чтобы выгрузить данные десятичного типа в пакетном представлении. Это - не поведение по умолчанию.

Если задана опция PACKEDDECIMAL и одновременно выбрана опция LOADFILE, модификатор PACKEDDECIMAL будет добавлен к условию MODIFIED BY в файле загрузки. Этот модификатор несовместим с модификаторами IMPLIEDDECIMAL и ZONEDDECIMAL.

DECPLUSBLANK
Используя модификатор DECPLUSBLANK, можно задать, что положительные десятичные данные будут выгружаться с ведущим пробелом вместо знака плюс (+). По умолчанию используется знак (+).
STRIPTBLANKS или STRIPTNULLS
Используя один из двух взаимоисключающих модификаторов STRIPTBLANKS или STRIPTNULLS, можно задать, как будут выгружаться данные столбцов символов переменной длины, сопровождаемые пробельным символом или символом null:

По умолчанию сопровождающий символ - пробел (STRIPBLANKS). Если выбрана также опция LOADFILE, команда загрузки будет включать в себя модификатор STRIPTBLANKS или STRIPTNULLS в условии MODIFIED BY.

NULLINDCHAR ‘char’|x’XX’
Используйте модификатор NULLINDCHAR, если вы хотите задать одиночный символ как обозначение значения NULL в файле вывода. Значение по умолчанию - ‘Y’. Если этот модификатор задан, он переопределяет потенциальное использование прежней опции NULL, которая тоже позволяет задавать символы, указывающие значение NULL.
IMPLIEDDECIMAL
Используйте модификатор IMPLIEDDECIMAL, если надо выгрузить данные десятичного типа без десятичного разделителя. Если также задано условие LOADFILE, то сгенерированная команда Db2 Load будет включать модификатор IMPLIEDDECIMAL в опции MODIFIED BY. Этот модификатор несовместим с модификаторами PACKEDDECIMAL и ZONEDDECIMAL.
ZONEDDECIMAL
Используйте модификатор ZONEDDECIMAL, если вы хотите выгружать данные десятичного типа в зонном представлении в файл вывода. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор ZONEDDECIMAL в опции MODIFIED BY. Этот модификатор несовместим с модификаторами PACKEDDECIMAL и IMPLIEDDECIMAL.
USEGRAPHICCODEPAGE
Используйте модификатор USEGRAPHICCODEPAGE, если вы хотите выгружать данные двухбайтных символьных типов в кодовой странице DBCS в файл вывода. Если также задано условие LOADFILE, сгенерированная команда Db2 Load будет включать модификатор USEGRAPHICCODEPAGE в опции MODIFIED BY.
FASTPARSE
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор FASTPARSE в опции MODIFIED BY.
NOCHECKLENGTHS
Этот модификатор не воздействует на выгруженные данные. Если задано также условие LOADFILE, сгенерированная команда Db2 Load будет содержать модификатор NOCHECKLENGTHS в опции MODIFIED BY.
DSNTIAUL
DSNTIAUL - производит формат, позволяющий загрузить выгруженный файл в Db2 for z/OS. Выходной формат - это последовательный файл без ограничителей строк или столбцов. Этот файл состоит из неразбитых последовательностей записей фиксированной длины.
Если используется опция LOADFILE, чтобы сгенерировать файл загрузки, и нужно изменить имя таблицы назначения или значение спецификатор.имя_таблицы, новое имя можно задать следующей опцией:
FORMAT DSNTIAUL INTO спецификатор.имя_таблицы
Внимание: Если вы не задаете имя, используя условие INTO, в файле загрузки будет использоваться имя исходной таблицы.
XML
Файл формата XML - это файл, состоящий из последовательности записей переменной длины, упорядоченных по строкам и столбцам. Все записи - это строковые значения, отформатированные по тегам XML. Каждая запись содержит имена столбцов и данные столбцов.

Формат XML использует следующие опции:

COLATTVAL или COLATTVAL_XML
Данные в именах столбцов или в значениях столбцов могут содержать недопустимые символы XML. Опции COLATTVAL и COLATTVAL_XML управляют заменой недопустимых символов XML в полученной строке.

При использовании опции COLATTVAL программа замещает недопустимые символы XML в значениях и именах столбцов. Опция по умолчанию - это COLATTVAL. Необходимо задать опцию COLATTVAL_XML, если нужно заменить недопустимые символы только в именах столбцов.

Табл. 1. Замена символов для значений атрибутов и элементов XML
Символ Замена
< &lt;
> &gt;
&quot;
& &amp;
&apos;
ROWTAGSTRING
Используйте опцию ROWTAGSTRING, чтобы изменить имя тега строки, которое формат XML использует для идентификации каждой строки. Используя этот модификатор, можно задать другую константу строки для каждого тега. По умолчанию предполагается значение "row". Эту опцию можно использовать, чтобы настроить выход для согласования с конкретными требованиями XML.

Например:

FORMAT XML ROWTAGSTRING "line"

Если при выгрузке данных задана эта опция, в выходном файле тег "row" заменяется на "line":

<?xml version="1.0" encoding="windows-1252" ?>
<table name="TBL_XML">
<строка >
  <column name="NUMBER">123</column>
  <column name="NUMBER_NN">345</column>
</line>
</table>
MIGRATION
Используйте ключевое слово MIGRATION, чтобы задать формат по умолчанию для переноса данных. Сейчас формат MIGRATION работает так же, как формат DEL. Ключевое слово MIGRATION использует следующую опцию:
INTO имя_таблицы или спецификатор.имя_таблицы
Когда вы переносите и загружаете конкретную таблицу и задаете для нее явное требование select, можно использовать опцию INTO, чтобы предоставить имя таблицы. Если спецификатор и имя таблицы назначения отличаются от соответствующих значений для исходной таблицы, используйте эту опцию, чтобы задать спецификатор. Optim High Performance Unload использует имя таблицы и спецификатор из условия INTO в соответствующей команде load, а не из исходной таблицы.
Важное замечание: Если вы не задаете имя, используя условие INTO, в файле загрузки будет использоваться имя исходной таблицы.
JSON
В формате JSON не следует генерировать файлы, которые могут импортироваться в базу данных NoSQL, такую как Cloudant, CouchDB или MongoDB.

Помимо списка извлеченных строк, выходные файлы, сгенерированные в формате вывода JSON, могут содержать также строки верхнего и нижнего колонтитула, если в указанной задаче предусматриваются такие строки перед строками содержимого и после них.

Структура строки таблицы:
  • Открывающая фигурная скобка.
  • Для каждого столбца - пара, состоящая из имени столбца и его значения, разделенных двоеточием. Эти пары, отвечающие столбцам, разделены запятыми.
  • Закрывающая фигурная скобка.

Структуры столбцов и соответствующих значений одинаковы для всех объектов назначения.

Задание условия LOADDEST влияет на содержимое генерируемого выходного файла. Содержимое нижней и верхней строки заголовков зависит от выбранного назначения NoSQL (Cloudant, CouchDB или MongoDB). Если условие LOADDEST не задано, то есть конкретное назначение не выбрано, генерируется выходной файл обычного формата, в котором нет специального содержимого для конкретного назначения. В результате в этом случае сгенерированный выходной файл не содержит верхней и нижней строк заголовков, содержимое которых зависит от нужного назначения.

Если выходной файл с выходным форматом JSON генерируется при помощи соответствующей команды upload, условие LOADDEST обязательно.

Типы данных Db2 и JSON:

Выходной формат JSON несовместим со столбцами с типом данных CLOB, BLOB, DBLOB и XML. Спецификация выгрузки с форматом вывода JSON для оператора SQL, содержащего столбец с одним из этих типов данных, будет отклонена. Главная причина этой несовместимости в том, что не найден автоматический дружественный пользователю метод связывать данные LOB или XML с документами JSON.

Среди типов данных, поддерживаемых выходным форматом JSON, не различаются разные числовые данные; их тип данных называется number. Структура значений - число без каких-либо окружающих символов. В результате в этот тип данных переформатируются следующие типы данных Db2:
  • SMALLINT
  • INTEGER
  • BIGINT
  • DECIMAL
  • REAL
  • DOUBLE
Строковые типы данных Db2, (VAR)CHAR и (VAR)GRAPHIC, типы данных времени Db2, DATE, TIME и TIMESTAMP, а также тип данных DECFLOAT Db2, переформатируются в тип данных JSON с именем string. Структура значений - строка, окруженная двойными кавычками.

Пустые значения представляются типом данных JSON, который называется null, и его значения всегда представляют собой строку 'null' без каких-либо окружающих символов.