Nous avons beaucoup de |
(pipe) fichiers plats séparés, que nous traitons sur une base quotidienne dans SQL Server en utilisant un paquet SSIS. Chaque fichier plat est divisé en section d'en-tête, section de contenu et section de pied de page. Nous recevons régulièrement une version plus récente des mêmes fichiers. Nous essayons d'implémenter la fonctionnalité de comparaison de fichiers entre deux versions du même fichier, pour réduire la charge de traitement.Meilleur moyen de comparer le contenu de deux fichiers plats
Quelle méthode sera la plus efficace?
Stocker les deux versions du même fichier dans des tables séparées SQL Server avec colonne de contrôle et de filtrer les lignes pour lesquelles les valeurs de somme de contrôle ne sont pas assorties.
Implémentation de la logique de somme de contrôle similaire en C# ou tout autre algorithme de comparaison disponible en C#.
Vous pouvez suggérer tout autre nouvel algorithme pour obtenir le même résultat. Bien, si vous chargez déjà ces deux dans SQL Server déjà, alors un moyen rapide utiliserait EXCEPT()
or INTERSECT()
en fonction de ce que votre objectif est de
pouvez-vous coller un petit contenu des fichiers? –
Est-ce que cela a fonctionné pour vous Murali? – scsimon
Verson 1 Fichier: H1 | 11 | 111111111111111 | | 111111111 | AAAAAAA | 2222222 | 20160205 | H2 | 33 | test de test | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 20160205 H3 | 33 | 44 | 55 | 55 | 66 | 77 | Verson 2 Fichier: H1 | 11 | 55555555555 | | 7777777 | bbbbbbbb | 666666 | 20160205 | H2 | 33 | test de test | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 20160205 H3 | 33 | 44 | 55 | 55 | 66 | 77 | –