我有一个Web服务(* .amsx),我应该在服务组件的SSIS包中调用它。
Web服务返回一些记录,我的任务是解析每个记录,并通过查看其中一个字段(Action)执行适当的操作。因此,如果它包含值'add',我应该将该记录插入到我的数据库中,如果它包含'edit',我应该在我的数据库中更新它的内容。
现在,我的问题是:在解析数据时,这些场景是否有最佳实践?
答案 0 :(得分:2)
在SSIS中,执行一个数据流,您可以从源中获取记录作为数据流的第一部分。 接下来(在相同的数据流中),根据您引用的Action列的值执行条件拆分 - 这会将您的数据解析为两个单独的流 - 更新,添加/插入。
对于要插入的记录,请执行oledb目的地。
对于要更新的记录,请执行oledb命令。
所有这些都应该在单个数据流中进行。我建议在插入之前在目的地中检查是否存在“添加”记录(按键),这样就不会出现重复 - 也就是说,如果您不止一次运行此包。
无论如何,这是一般的想法。