Что такое файл с разделителями и файл фиксированной ширины?
Каждая строка в файле представляет строку данных, но эти данные обычно делятся на поля или столбцы. Два стандартных метода разграничивают поля. Один состоит в том, чтобы иметь поля фиксированной длины и, следовательно, записи фиксированной длины; другой — иметь поля переменной длины с записями переменной длины. Поля переменной длины должны быть разделены символом, который является разделителем. База данных с записями переменной длины создаст файл с разделителями, база данных с записями фиксированной длины создаст файл фиксированной ширины.
Разделители
Наиболее распространенная форма файла с разделителями использует запятую в качестве разделителя полей. Эти файлы называются файлами значений, разделенных запятыми (CSV). Запятая подходит для числовых данных, но может вызвать проблемы с текстом. Другие разделители включают пробел (""), черту ("|") или знак шляпы ("^"). Разработчик файла или программист должен найти символ, который редко используется в данных. Иногда может потребоваться использование комбинации символов.
Фиксированные поля
Не всегда возможно гарантировать, что один символ никогда не будет использоваться в данных, которые будут храниться в файлах, поэтому сложность поиска подходящего разделителя может сделать предпочтительными поля фиксированной длины. Этот формат сопряжен с накладными расходами как при хранении, так и при обработке, поэтому файлы с разделителями встречаются чаще. Поле фиксированной длины должно быть дополнено. Наиболее распространенными формами заполнения являются левые нули для числовых данных и правые пробелы для текста.
Процедуры
Независимо от того, имеет ли файл фиксированную ширину или содержит поля с разделителями, программы записи и чтения должны следовать одним и тем же соглашениям. Программа, получающая файл фиксированной ширины, сначала должна знать длину и тип данных каждого файла. Программа, получающая файлы с разделителями, должна знать разделитель, который нужно искать.
Отклоненные записи
В каждом случае импортирующие программы должны иметь процедуры отчетов об исключениях, которые записывают отклоненные записи в отдельный файл. Наиболее распространенная причина отклонения записи с разделителями заключается в том, что разделитель появляется в данных, создавая дополнительные столбцы. Записи с фиксированной шириной обычно отклоняются из-за того, что они слишком длинные. Короткие записи обычно не вызывают ошибок. Последние поля будут незаполненными. Если последние поля являются обязательными, короткие записи будут отклонены.