从Biztalk 2006中的非常大的CSV文件导入少量记录

时间:2010-04-07 19:20:17

标签: biztalk flat-file biztalk2006r2

我有一个Biztalk项目,它导入传入的CSV文件并将其转储到数据库表。导入工作正常,但我只需要从超过一百万行的文件中保留大约200-300条记录。我的业务流程丢弃了这些行,但问题是我导入的平面文件仍然是250MB,当使用常规平面文件管道转换为XML时,处理需要几个小时,有时会导致服务器耗尽内存。 / p>

我可以做些什么让自定义管道本身丢弃我不关心的行?每个CSV行中的第一项是几个字符串中的一个,我只想保留以某个字符串开头的行。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:4)

自定义管道组件肯定是最佳解决方案;但它需要在反汇编程序组件之前的解码阶段执行。

使其100%启用流将是复杂的(但肯定可行),但根据生成的修剪CVS文件的大小,您可以在自定义组件运行时立即预处理整个输入文件在内存中(在MemoryStream中)生成结果(如果它很小),或者将它们写入文件然后将生成的FileStream返回到BizTalk以继续从那里进行处理。

相关问题