2017-02-15 14 views
0

У меня есть требование читать данные из плоского файла, в котором есть свободные текстовые данные (т. Е. Длина столбца для каждого столбца 32000 и 8-9 столбцов в файле). Поскольку столбцы имеют бесплатные текстовые данные, пользователи могут добавлять любое значение в данные, которые могут нарушить разделитель, если я определяю разделитель на информационной карте. Кроме того, поскольку длина поля на уровне источника огромна, было бы непросто использовать свойство фиксированной ширины.Informatica: проблемы с чтением файлов

Может ли кто-нибудь помочь мне здесь, есть ли способ, которым я могу определить разделитель в свойстве с фиксированной шириной ???

пример данных:

Column1 | Свободное текстовое поле1 | свободное текстовое поле2 | John | сколько тебе лет? где вы живете? | Пол: Мужской, Женский, Рабочий: Да | нет

+0

Короткий ответ: нет семантических причин, чтобы определить разделитель для фиксированной ширины файла. Как * ВЫ * отделяете одно поле от другого как человека, когда читаете файл? Или вы идете, анализируя значение полей, чтобы их разделить (в этом случае нет никакой помощи, я боюсь) – YePhIcK

ответ

0

В примере, который вы предоставили, вы начали с того, что у вас была труба в качестве делиметра, а затем кто-то решил использовать трубу для указания альтернативных значений ... это оставляет вам выбор разработка комплексных обходных методов кода для учета этих исключений (например, кратковременное распознавание известных исключений перед чтением плоского файла в информатику, а затем их последующее раскрытие в картировании) или политическая задача получения согласия от проектного пространства, чтобы воздерживаться от использования трубы для представления альтернативных (может использовать/вместо этого) и поставить валидацию на поля ввода freetext, чтобы запретить символ канала (также некоторые поправки к существующим шаблонам для предотвращения их ввода)

0

Один из способов - использовать комплекс, mul тихарактер. Я не уверен, что вы можете обеспечить это в источнике.

0

У вас есть 9 столбцов, каждый размер столбца 32000, ваше фиксированное определение файла должно иметь 1-32000 | 32001-64002 | ...... | После загрузки плоского файла вы должны усечь правое или левое пространство ,

Файл с фиксированной плотностью будет иметь фиксированную длину столбца. Вы не можете указать какой-либо разделитель в фиксированном формате. Если вы это сделаете, то это уже не фиксированный формат файла.

Благодаря MKrishnan