2016-12-06 4 views
4

У меня есть пакет служб SSIS, который извлечение данных с помощью команды SQL из базы данных, а затем генерировать разделители текстового файл, который 1452kbданных в выходном и SSMS выходе SSIS

я запускаю тот же запрос на SSMS и сгенерированный текстовый файл который 1499kb

Оба данные дают одинаковое количество строк, что может быть причиной разницы размера файла и пути для решения этой

+0

Вы абсолютно точно знаете, что файлы в точности совпадают? Они могут возвращать одинаковое количество строк, но, возможно, данные разные. – SQLChao

+2

Возможно, файл находится в UTF-8, а другой нет? Или, может быть, один файл содержит пустые строки в конце? Или дополнительные пробелы в конце каждой строки? Наконец, возможно, это что-то тривиальное, как разная строка (char (10) в одном файле и char (13) + char (10) в другом файле? Откройте оба файла в достойном редакторе и включите скрытые символы - это должно помочь уточните проблему. – Tyron78

+0

Просьба представить воспроизводимый набор шагов, чтобы мы могли идентифицировать несоответствие. – billinkc

ответ

1

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

  • Кодирование: При использовании Unicode может хранить дополнительные данные, такие как The byte order mark (BOM)

  • Row Разделитель: Это действительно только о том, какие байты хранится в файле. CR - это байт-код для возврата каретки (со дня пишущей машинки) и LF аналогичным образом, для перевода строки. Это просто относится к байтам, которые помещаются как маркеры конца строки. CRLF - это комбинация двух символов.

  • пустые строки: Иногда экспортер данных может добавить пустые строки в конце файла

  • Заголовок: Если один файл содержит заголовки столбцов, а другой не

Упование это помогает