繁体   English   中英

比较两个平面文件内容的最佳方法

[英]Best way to compare the content of two flat files

我们有很多| (管道)分隔的平面文件,我们每天在SQL Server中使用SSIS包处理它们。 每个平面文件分为标题部分,内容部分和页脚部分。 我们经常会获得相同文件的更新版本。 我们正在尝试在同一文件的两个版本之间实现文件比较功能,以减少处理负担。

哪种方法更有效?

  1. 将具有校验和列的同一文件的两个版本存储到单独的SQL Server表中,并过滤掉校验和值不匹配的行。

  2. 在C#中实现类似的校验和逻辑或C#中可用的任何其他比较算法。

您可以建议任何其他新算法来实现相同的目标。

好吧,如果你已经将这两个加载到SQL Server中,那么快速的方法是使用EXCEPT()INTERSECT()具体取决于你的目标。

select * from version2
except
select * from version1

这将返回行version2未精确地匹配行version1 如果要比较,也可以只选择一列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM