Сохранение АННУЛИРУЕТ в числовых столбцах с помощью Мастера Импорта/Экспорта SSIS?

У меня есть проблема при загрузке данных из разграниченных вкладкой плоских файлов (файлы TSV) в SQL Server использование 2005 года мастера Импорта Данных SSIS. Я не испытал эту проблему с помощью эквивалентной процедуры в SQL Server 2000, и я проверил, что внутренняя структура файлов, которые я пытаюсь импортировать, неизменна, так как задолго до SQL Server обновление произошло.

Проблема состоит в том, что все пустые значения в столбцах с типами числовых данных (например, smallint, плавание и т.д.) преобразовываются в 0s на импорте вместо ПУСТОГО УКАЗАТЕЛЯ. Это означает, что AVGing через эти данные дает ошибочный вывод.

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

Возможно сохранить ПУСТЫЕ УКАЗАТЕЛИ путем импорта в столбцы VARCHAR, однако это далеко от идеала. Существует ли способ дать мастеру Импорта/Экспорта SSIS команду импортировать пустые значения из плоских файлов в столбцы с типами числовых данных как ПУСТОЙ УКАЗАТЕЛЬ, а не 0?

8
задан Lethanta 24 February 2010 в 18:54
поделиться

2 ответа

См. Мой ответ здесь пожалуйста

Мастер не предоставляет правильные настройки, которые вам нужны ...

{{ 1}}
4
ответ дан 5 December 2019 в 22:17
поделиться

@gbn: Спасибо за указатель. Кажется, я нашел способ обойти эту проблему и смог успешно импортировать в базу данных SQL Server 2005 данные, содержащие значения NULL в числовых столбцах.


На случай, если кто-то еще столкнулся с такой же проблемой:

Я импортировал данные с помощью задачи Data Flow в Business Intelligence Development Studio (а не с помощью dtswizard, как раньше), построив задачу Data Flow от Flat File Source до OLE DB Destination.

В окне Flat File Source Editor есть флажок 'retain null values from the source as null values in the data flow'. Установка этой галочки, похоже, решает эту проблему.

Как указал @gbn, это поле отсутствует в мастере.

2
ответ дан 5 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: