2014-11-24 4 views
0

У меня есть пакет SSIS, который я использую для загрузки плоского файла с фиксированной шириной. Я поместил все длины столбцов и имею два пакета против похожих файлов, работающих правильно. Третьи, однако продолжает бросать следующую ошибку:SSIS Blank Int Flat File Fail on Load

[Source 1 [16860]] Error: Data conversion failed. The data conversion for column "Line Number" 
returned status value 2 and status text "The value could not be converted because of a 
potential loss of data.". 

[Source 1 [16860]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. 
The "output column "Line Number" (16957)" failed because error code 0xC0209084 
occurred, and the error row disposition on "output column "Line Number" (16957)" 
specifies failure on error. An error occurred on the specified object of the specified 
component. There may be error messages posted before this with more information about 
the failure. 

После выполнения некоторых испытаний это происходит для любого столбца У меня есть используют DT_I4 тип данных и имеют пробел в колонке. Я собирался попробовать использовать производный столбец, но, похоже, это не работает для некоторых столбцов, даже если я изменю их на строковый тип данных, чтобы обрабатывать пробел как NULL, а затем выполнить преобразование в INT позже в потоке данных ,

В исходной и целевой задаче отмечены флаги сохранения значений NULL, но это ничего не изменило.

Любые предложения по обработке этой ошибки, при которой INT, похоже, не работает при преобразовании пробела в NULL?

ответ

1

DT_I4 отображает четырехзначное целое число со знаком в SSIS.

Вы были на правильном пути со своей производной колонкой. Вам просто нужно добавить правильное выражение.

Вы можете попробовать это выражение:

ISNULL([Line Number]) ? "0":[Line Number] 

Эта ссылка может также использоваться - смотрите столбец почтового индекса в примере http://www.bidn.com/blogs/DonnyJohns/ssas/1919/handling-null-or-implied-null-values-in-an-ssis-derived-column