我有多个CSV文件,每个文件有100列左右,我想使用SSIS包将它们导入到SQL数据库中。这些CSV文件每天晚上都会收到,我希望我们的SQL表可用作历史记录/曲目更改表。
换句话说,在导入之前,我需要基于唯一标识符评估CSV的每一行。我需要检查表中ID的最新(基于导入日期)条目,如果它存在且与CSV中的新行不同,则应将其导入。如果重复,则应将其忽略。如果根本不存在,也应该将其导入。
我不能简单地过滤掉所有重复项,因为从X到Y的变化再到X的变化应记录在表中(因为它是一个历史/更改表)。
最初,我尝试使用平面文件导入->查找工具->数据库目标,但看起来好像我可以修改查找工具以使用特定查询,而不是仅仅比较指示的内容数据库中的列以查看其是否存在。有没有一种方法可以使用提供的SSIS工具来实现?我可以看到的唯一替代方法是创建一个自定义脚本任务,以预先评估CSV中的每一行,并将其写入仅包含需要插入的数据的临时表或新CSV中。这可能是一个完全可行的解决方案,但我担心性能问题。