Раздел [Data]

В этой статье описывается раздел [Data] файла sqlways.ini и содержащиеся в нем опции.

Название опции Описание
COLUMN_DELIMITER Разделитель столбцов.
LINE_DELIMITER Разделитель строк.
DECIMAL_POINT Символ десятичной точки.
DATETIME_FORMAT Эта опция задает формат типов данных datetime в текстовых файлах. Временные данные состоят из допустимых комбинаций даты и времени. В зависимости от базы данных, это может быть тип данных DATE в Oracle, тип данных TIMESTAMP в IBM DB2 и тип данных DATETIME в Microsoft SQL Server и Sybase. Формат даты может состоять из одного или нескольких элементов формата даты, как показано ниже.
* YYYY - 4-значный год
* ГГ - 2 последние цифры года
* MM - 2-значная цифровая аббревиатура месяца (01-12)
* MON - 3-символьное сокращенное название месяца (JAN, FEB и т.д.)
* DD - 2-значный день месяца (01-31)
* HH - 2-значный час дня (01-12)
* HH12 - 2-значный час дня (01-12)
* HH24 - 2-значный час дня (00-23)
* MI - 2-значная минута (00-59)
* SS - 2-значная секунда (00-59)
* F - дробь секунды.
Количество символов F обозначает точность. Например, FFF для точности в миллисекунды и FFFFF для точности в микросекунды.
Например, чтобы получить такие значения времени, как 21-DEC-2002 21-21-00, установите формат времени даты DD-MON-YYYY HH24-MI-SS.
Если в этом параметре не указано значение, используется формат времени по умолчанию.
По умолчанию драйверы ODBC преобразуют значения времени в формат ISO YYYY-MM-DD HH24:MI:SS.FFF (часть FFF зависит от базы данных).
DATE_FORMAT Эта опция задает формат типов данных даты в текстовых файлах.
Дата - это значение, состоящее из трех частей (год, месяц и день). Не во всех базах данных есть тип данных, позволяющий хранить значения даты без временной части. Например, такой тип данных существует в IBM DB2 и MySQL (тип данных DATE). Формат даты может состоять из одного или нескольких элементов формата даты, как показано ниже.
* YYYY - 4-значный год
* ГГ - 2 последние цифры года
* MM - 2-значная цифровая аббревиатура месяца (01-12)
* MON - 3-символьное сокращенное название месяца (JAN, FEB и т.д.)
* DD - 2-значный день месяца (01-31).
Например, чтобы получить значения даты 21-DEC-2002, установите формат времени даты DD-MON-YYYY.
Если в этом параметре не указано значение, используется формат даты по умолчанию.
По умолчанию драйверы ODBC преобразуют значения даты, используя формат ISO YYYY-MM-DD.
TIME_FORMAT Эта опция задает формат типов данных времени в текстовых файлах.
Время - это значение, состоящее из трех частей (час, минута и секунда). Не во всех базах данных есть тип данных, позволяющий хранить значения времени без части даты. Например, такой тип данных существует в IBM DB2 и MySQL (тип данных TIME).
Формат времени может состоять из одного или нескольких элементов формата времени, как показано ниже.
* HH - 2-значный час дня (01-12)
* HH12 - 2-значный час дня (01-12)
* HH24 - 2-значный час дня (00-23)
* MI - 2-значная минута (00-59)
* SS - 2-значная секунда (00-59)
Например, для получения значений времени типа 21-21-00 установите формат времени HH24-MI-SS.
Если в этом параметре не указано значение, используется формат времени по умолчанию.
По умолчанию драйверы ODBC преобразуют значения времени, используя формат ISO HH24:MI:SS.
DATETIME_FRACTION Указывает, что столбцы datetime могут содержать дробную часть в текстовом файле. Данные времени суток состоят из допустимых комбинаций даты и времени. Время может содержать дробную часть. Например, тип данных IBM DB2 TIMESTAMP может содержать микросекунды, Microsoft SQL Server и Sybase DATETIME - миллисекунды.
Возможные значения - Yes, No. Yes означает, что значения datetime могут содержать дробную часть в текстовых файлах, No означает, что если дробная часть существует, она не сохраняется в текстовом файле.
Значение по умолчанию - Yes, если только целевой базой данных не является Oracle.
Если целевая база данных - Oracle и типы данных datetime преобразуются в тип данных Oracle DATE, значение по умолчанию - No.
Тип данных Oracle DATE не поддерживает дробные секунды.
Если целевой базой данных является Oracle и типы данных datetime преобразуются в тип данных Oracle TIMESTAMP, значение по умолчанию - Yes.
Тип данных Oracle TIMESTAMP поддерживает дробные секунды.
Примечание. Эта опция игнорируется, если в опции DATETIME_FORMAT (см. выше) указано любое значение.
REPLACE_NEWLINE Указывает строку символов, которая заменяет символы новой строки в данных. Символы новой строки - это 0x0D0A или \r\n для Windows и 0x0A или \n для Unix.
Символьные столбцы, такие как CHAR и VARCHAR, например, могут содержать символы новой строки в данных.
По умолчанию Конвертум Мастер сохраняет их в файлах экспорта. С помощью этой опции можно указать строку, которая будет заменять символы новой строки.
Например, чтобы заменить новые строки на zzz, задайте REPLACE_NEWLINE=zzz, чтобы заменить новые строки на пробел, задайте REPLACE_NEWLINE=" ".
Чтобы указать шестнадцатеричное значение символа, используйте следующий синтаксис: 0xhh. Например, 0x2c означает символ запятой. Непечатаемые символы, такие как табуляция, возврат каретки и новая строка, могут быть представлены \t, \r и \n соответственно. Чтобы указать символ обратной косой черты, используйте '\\\'.
Для задания строки можно комбинировать различные представления символов. Например, REPLACE_NEWLINE=¦¦¦0x2c0x2c¦¦¦¦
Когда вам нужно удалить новые строки из данных, используйте опцию REMOVE_NEWLINE. Опция REPLACE_NEWLINE игнорируется, если для опции REMOVE_NEWLINE установлено значение Yes (см. ниже).
В большинстве случаев, когда необходимо сохранить символы новой строки в данных, необходимо изменить разделитель строк с помощью опции /LDEL. Это приводит к корректной обработке строк утилитами импорта/загрузки.
REMOVE_NEWLINE Если указано Yes, символы новой строки будут удалены из данных. Символы новой строки - это 0x0D0A или \r\n для Windows и 0x0A или \n для Unix. Символьные столбцы, такие как CHAR и VARCHAR, например, могут содержать символы новой строки в данных. По умолчанию Конвертум Мастер сохраняет их в файлах экспорта. С помощью этого параметра можно указать удаление символов новой строки из данных. Значение по умолчанию - No.
Возможные значения - Yes, No.
Если вам нужно заменить символы новой строки на другую строку, используйте опцию REPLACE_NEWLINE (см. выше). В большинстве случаев, когда требуется сохранить символы новой строки в данных, необходимо изменить разделитель строк с помощью опции /LDEL. Это приводит к корректной обработке строк утилитами импорта/загрузки.
ODBC_FLOAT_CONVERSION Если указано Yes, то числовые данные (типы данных REAL, FLOAT, DOUBLE) преобразуются в текстовое представление драйвером ODBC. В противном случае преобразование выполняется мастером Конвертум. Значение по умолчанию - Yes. Возможные значения - Yes, No.
LOBS_INFILE Помещает данные LOB в текстовый файл. Возможные значения - Yes, No.
LOBS_INFILE_LENGTH Эта опция задает максимальную длину данных LOB. Может использоваться только при включенной опции LOBS_INFILE. Значение по умолчанию - 65535.
LOBS_DIR_TAB Если указано Yes, мастер Конвертум создает подкаталог в каталоге LOB для каждой таблицы и записывает данные LOB для каждой таблицы в подкаталоги LOB. Имя подкаталога - это имя таблицы. Для каждого значения LOB создается файл, имя файла - имя таблицы с расширением, равным порядковому номеру значения LOB.
Если указано значение No, мастер Конвертум не создает подкаталоги LOB для каждой таблицы и записывает все файлы LOB в каталог LOB.
По умолчанию используется значение Yes.
Возможные значения - Yes, No.
FIXFMT_COLUMN_GAPS Эта опция задает количество пробелов, которые помещаются между столбцами для формата вывода FIX (фиксированная длина). Значение по умолчанию равно 1.
DATAFILE_PART_SIZE По умолчанию эта опция определяет, что текстовый файл с экспортируемой таблицей не делится на части и в окне редактирования нельзя задать максимально возможный размер файла.
Опция может быть определена. По умолчанию задается значение 2G (два гигабайта).
При превышении этого лимита Конвертум Мастер делит текстовый файл на части. Каждый файл содержит целое число строк.
Конвертум Мастер создает следующие файлы: table_name.txt, table_name2.txt, ... table_nameN.txt.
Примечание: Минимальный размер части должен превышать максимальный размер строки (без LOB-данных), умноженный на количество строк предварительной выборки.
CORRECT_24H_TIME Эта опция изменяет значение времени с «24:00:00» на время, указанное в опции для столбцов TIME при миграции из базы данных DB2 в другие базы данных (например, Oracle и MSSQL Server). Если для этой опции установлено значение Yes, то в целевой базе данных будет использоваться время 23:59:59.
Значение по умолчанию для этой опции - No.
Возможные значения - Yes, No, точное значение времени (например, 23:45:47).
CORRECT_24H_TIMESTAMP Эта опция изменяет значение времени с «24:00:00» на время, указанное в опции для столбцов TIMESTAMP при миграции из базы данных DB2 в другие базы данных (например, Oracle и MSSQL Server). Если опция установлена в значение Yes, то в целевой базе данных будет использоваться время 23:59:59.999999.
Значение по умолчанию для этой опции - No.
Возможные значения - Yes, No, точное значение времени (например, 23:45:47).
CASESENSITIVE_DATA_IN_FK_COL По умолчанию MSSQL Server нечувствителен к регистру и обрабатывает значения строковых столбцов, входящих во внешние ключи, в режиме нечувствительности к регистру. Такое поведение неприемлемо для Oracle. Таким образом, данная опция позволяет извлекать данные из ссылающихся столбцов в определенном случае. Если опция имеет значение Upper, данные будут извлечены в верхнем регистре. Если указано Lower, то данные будут извлечены в нижнем регистре. Если этот параметр пуст или не задан, данные будут извлечены как есть. Возможные значения: Upper, Lower, (пустой). По умолчанию используется значение (пусто).
BOOLEAN_REPRESENTATION Этот параметр определяет способ преобразования булевых значений в целевой базе данных. Возможные значения «Y/N», «T/F» или «1/0». Если вы установите «Y/N», будут использоваться значения «Y» или «N»; если вы установите «T/F», будут использоваться значения «T» или «F»; если эта опция установлена в «1/0», то для булевых значений будут использоваться «1» и «0».
IFMX_ROWID_IN_BLOBFILE_NAME Эта опция добавляет ROWID к имени файла, в который будут помещены данные блоба после процесса экспорта. Если этот параметр установлен в значение «Yes», номер ROWID будет добавлен к имени файла. Если этот параметр установлен в значение «No» или пуст, номер ROWID не будет добавлен. Эта опция может быть применена только для Informix в качестве исходной базы данных. Возможные значения - «Yes», «No» или пусто. Значение по умолчанию - «No» или пусто.
IFMX_UPDATE_STATISTICS Если эта опция установлена в значение «Yes», то перед выполнением процесса экспорта инструмент Конвертум Мастер запустит UPDATE STATISTICS в базе данных Informix. Это позволит получить актуальную информацию из базы данных Informix. Если эта опция установлена в значение «No», UPDATE STATISTICS не будет выполняться. Это может ускорить процесс экспорта. Данная опция может быть применена только для Informix в качестве исходной базы данных. Возможные значения - «Yes», «No». Значение по умолчанию - «No».
CUT_NUMERIC_VALUE Если эта опция установлена в значение «Yes», в процессе экспорта данных Конвертум будет проверять количество цифр справа от запятой для числовых значений и сравнивать его с масштабом, допустимым для числовых типов данных в определении таблицы. Если количество цифр превышает допустимый масштаб, мастер Конвертум сократит их. Данная возможность была реализована для направлений Firebird и InterBase to MS SQL Server.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «No».
FIX_SPACE_FOR_SIGN Эта опция управляет выделением места для знака в файле данных, если целью миграции является Oracle. Опция доступна, только если OUTFORMAT=FIX.
Если установлено значение «Yes», инструмент увеличивает параметр POSITION для типов данных TINYINT, SMALLINT, INTEGER и BIGINT, чтобы иметь возможность хранить знак.
Значение опции «No» формирует POSITION в соответствии с исходной длиной типа данных. Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «Yes».
RESOLVE_DELIMITER_CONFLICTS Этот параметр определяет, следует ли разрешать конфликты разделителей при экспорте данных. Это полезно, если исходные данные содержат те же символы, которые используются в качестве разделителей. Если конфликты разделителей не будут разрешены, целевая база данных не сможет корректно импортировать данные. Если для параметра «Разрешение конфликтов разделителей» установлено значение «Yes», будут созданы дополнительные файлы с конфликтными данными. В этих файлах для разграничения каждой строки и каждого столбца используются специальные разделители.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «Yes».
COLUMN_NAMES_FIRST_ROW Параметр управляет тем, следует ли добавлять имена столбцов перед данными в первой строке файла данных.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «No».
COBOLFORMAT Опция определяет формат коболовского кода как исходного. Если опция установлена в значение «No» - технология парсера исключит из анализа первые 6 символов и все символы, следующие за 74-м символом в строке. Если эта опция установлена в значение «Free» - парсер попытается прочитать код кобола как есть, не удаляя никаких символов. Если эта опция установлена в значение «ANSI» - технология парсера не будет считывать все символы, следующие за 74-м символом в строке.
Возможные значения - «No», «Free», «ANSI».
Значение по умолчанию - «ANSI».
CONVERT_EMPTY_STRINGS_TO_NULL Если эта опция установлена в значение «Yes», пустые строки со значениями по умолчанию для символьных столбцов будут преобразованы в NULL. Если целевой базой данных является Oracle, необходимо оставить пустые строки как есть, так как в Oracle они равны значению NULL. Если для этой опции установлено значение «No», значения по умолчанию будут оставлены как есть.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «No».
UUID_CONVERSION Этот параметр определяет регистр символов в столбцах GUID.
Возможные значения - «LOWER», «UPPER».
Значение по умолчанию - «LOWER».
DB2_APP_CTL_HEAP_SZ Эта опция устанавливает параметр APP_CTL_HEAP_SZ в базе данных DB2 при выполнении экспорта данных из DB2. В этом параметре необходимо указать количество КБ.
DATE_TIME_DATA_CONCAT_MAPPING В этой опции вы можете указать путь к txt-файлу с привязкой даты и времени.
IBMRPG_VERSION Этот параметр определяет версию форматирования RPG. За дополнительной информацией о специфике форматирования RPG обращайтесь в службу поддержки team: support@convertum.ru. Возможные значения - «ILE», «400». Значение по умолчанию - «ILE».
SKIP_EXPORT_IF_DATAFILES_EXIST Если этот параметр установлен в значение «Yes», мастер Конвертум сначала проверит, существует ли в каталоге экспорта файл .txt с данными и с тем же именем, что и таблица, указанная для преобразования. Затем инструмент пропустит извлечение данных для этой таблицы. Если файл .txt с именем, совпадающим с именем таблицы, отсутствует, инструмент извлечет данные для этой таблицы.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «No».
COBOL_TAB_WIDTH Эта опция удаляет символ TAB с соответствующим количеством пробелов, которое должно быть определено в этой опции.
Значение по умолчанию - 4.
DECIMALPOINT Эта опция определяет десятичную точку, которая должна использоваться инструментом Конвертум Мастером для числовых типов данных.
REVERSE_BLOCK_NAMES Если эта опция установлена в значение «Yes», названия блоков, начинающиеся с цифр, будут изменены, а цифры будут помещены в конец названий блоков. Если установить значение «No», имена будут оставлены как есть.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «No» или Пусто.
COMP_FORMATTING Эта опция определяет преобразование COMP-клаузулы для элементов. Если установлено значение «Yes», то предложение COMP будет преобразовано. Если установлено значение «No» - при миграции с Cobol на Oracle условие COMP будет удалено из преобразования.
Возможные значения - «No», «Yes» или Пусто.
Значение по умолчанию - «Yes» или Пусто.
CHAR_DATA_CASE Этот параметр определяет регистр строковых данных. Если параметр имеет значение «LOWER», данные будут преобразованы в нижний регистр. Если установлено значение «UPPER», данные будут преобразованы в верхний регистр. Если этот параметр не задан, данные будут перенесены как есть.
Возможные значения - «UPPER», «LOWER», Пустой.
Значение по умолчанию - Пусто.
TRIM_TRAILING_BLANKS_IN_CHAR Если для этого параметра установлено значение «Yes», из строковых данных будут удалены пробелы в конце строки. Если этот параметр не установлен, данные будут перенесены в исходном виде.
Значение по умолчанию - «No» или Пусто.
DEP_ON_DATA_CUT Этот параметр управляет использованием условий среза данных для ссылающихся таблиц. Если установить значение «Yes», условия среза данных будут использоваться для таблицы, для которой было задано это условие, и для таблиц, которые зависят от этой таблицы. Если установить значение «No», то условия среза данных будут использоваться только для таблицы, для которой были указаны такие условия.
Возможные значения - «No», «Yes» или Пусто.
Значение по умолчанию - «Yes» или Пусто.
USE_MULTIPROCESS_EXPORT Этот параметр определяет, будет ли преобразование таблиц выполняться в нескольких процессах или в одном. Если этот параметр установлен в значение "Yes", то будет использоваться многопроцессное преобразование. Если опция имеет значение "No", то преобразование будет выполняться в одном процессе.
Возможные значения - «Yes», «No» или Пусто.
Значение по умолчанию - «Yes» или Пусто.

Пример:

[DATA]
COLUMN_DELIMITER=","
REMOVE_NEWLINE=No
CORRECT_24H_TIME=23:45:47

Если у вас есть вопросы о поддерживаемых опциях или функциях, которые могут вам понадобиться в вашем проекте миграции, свяжитесь с нашей технической командой: support@convertum.ru.