我有一个 SSIS 包,它可以解压缩并加载一个文本文件。它从调试器一直运行良好,并且从各种服务器上传到我们的生产环境。
我现在的问题是:正在加载一个文件,一切都很顺利,但突然之间,在最后一个数据行(根据错误消息)最后一个字段被截断。我以为我们收到的文件可能是乱七八糟的,打开它,一切都很好......
它是一个|
分隔文件,没有文本限定符,并且{CR}{LF}
作为行分隔符。由于截断错误的字段是行中的最后一个字段(在这种情况下是整个文件的最后一个字段),因此它的分隔符{CR}{LF}
与|
.
该文件看起来很原始,我什至将它加载到 Excel 中,没有任何问题,也没有任何投诉。我已经通过我的本地机器运行了这个文件,通过 VS 2008 中的调试器运行包,它运行得很好。有没有人对这样的行为有任何问题?我无法在它崩溃的环境中对其进行太多测试,因为它是我们的生产环境,而且现在是高峰时间......所以非常感谢任何建议。
错误信息:
Description: Data conversion failed. The data conversion for column "ACD_Flag" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.". End Error Error: 2013-02-01 01:32:06.32 Code: 0xC020902A Source: Load ACD file into Table HDS Flat File 1 [9] Description: The "output column "ACD_Flag" (1040)" failed because truncation occurred, and the truncation row disposition on "output column "ACD_Flag" (1040)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component. End Error Error: 2013-02-01 01:32:06.32 Code: 0xC0202092 Source: Load ACD file into Table [9] Description: An error occurred while processing file "MY FLAT FILE" on data row 737541.
737541是文件中的最后一行。
更新:最初我有行分隔符{CR}
,但我已经更新它{CR}{LF}
以尝试解决这个问题......虽然无济于事。