Раздел [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.