或者可能是由于日志设备的配置不一致,我需要通过 SSIS 加载一组 csv 文件,这些文件有时会有第一行带有列名,有时不会。文件格式在其他方面相同。
日志配置似乎有可能被标准化,所以我不想浪费编程时间来打开每个文件并确定它是否有标题行,然后根据不同的方式处理它。
相反,我想指定诸如 Destination.MaxNumberOfErrors 之类的东西,这将允许每个文件最多有一个错误行(因此,如果文件中唯一的问题是标题,它就不会失败)。不过,平面文件源错误是致命的,所以我看不到让它继续运行的方法。
失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
我最好的选择似乎是暂时忽略第一个数据行,等待是否可以实现更统一的配置。当然,当这个策略到位时,数据集是无效的。我应该补充一点,数据非常大,因此 ETL 例程需要尽可能高效。在我看来,如果有任何替代方案,这将禁止任何文件解析或条件拆分。
问题是是否有办法配置文件源以从这个致命错误中继续?