【发布时间】:2014-11-11 21:14:36
【问题描述】:
我正在 VS 2010 中为 2012 实例开发 SSIS 包。我正在从不会清理其数据的供应商处导入平面文件。我无法超越“平面文件源”步骤,因为数据被严重破坏它挂起并且不会继续解析。
这是一个带有标题的好数据示例:
EventID|AccountID|ListID|ID|Date
1|3000|20030|1092997696|10-Nov-2014 09:36:13
以下是错误处理将(并且正在)捕获的错误数据:
1|3000|20030|1092997696;ҧ��DAVNJ��|11-Nov-2014 06:40:28
这是挂在我的包裹上的数据:
1|3000|20030|1092997696ci[
a5��~[�t:RW�uXXïA,u��ïn��I� �JA!QXQ|11-Nov-2014 08:27:27
我该如何处理?请记住,我无法超越平面文件解析步骤来使用派生列/条件拆分/脚本任务。
提前致谢! 克尔斯滕
【问题讨论】:
-
看来你有一个回车。 SSIS 解析库将在该行停止并报告您有一条短线。
-
在这种情况下,我倾向于使用“您选择的技术”编写文件预处理器,以将坏文件转换为 SSIS 不会吐出的东西。我知道,双重处理,如果它不能做到这一点,使用该工具有什么意义等等。我只是想提供一种基于限制的方法。
-
我同意 billinkc。要就如何进行预处理提出建议,我们需要更多地了解约束。是否有任何可以保证遵守的规则,即使数据不好?例如,管道是否只作为分隔符出现,并且总是在应该出现的时候出现?如果是这样,您可以使用 C#/VB 脚本任务轻松清理文件。
标签: file unicode ssis freeze flat