Bonjour à tous,
Je travaille sur l'intégration d'un fichier EDI et je souhaiterai optimiser le traitement auquel j'ai abouti et qui ne me donc pas satisfaction en terme de temps d'exécution.
Je travaille sur SQL Server 2008 R2 hébergé sur un serveur Azure et donc avec des performance assez moyenne.
Le fichier d'entrée est un fichier texte qui présente des informations sur un colis. Sur la ligne 1 nous allons trouver l'identifiant du colis, sur la ligne 2 un code d'événement, sur la ligne 3 la date de l'événement et se schéma se répète : ligne 4 identifiant du colis, ligne 5 événement, ligne 6 date etc. Il peut y avoir plusieurs milliers de ligne dans chaque fichier
J'ai commencé par faire un BCP du fichier dans une table temporaire puis j'ai extrait l'information de chaque ligne ce qui donne une table qui ressemble à ceci :
Ligne du fichier Identifiant Colis Evénement Date CNIxxxxxNNNNNxxxx NNNNN STS20xxxxxxxxxxxxLIVxxxxxxCFM LIVCFM DTMxxxxxxxxxx20140801xxxxxxxxx1002 01/08/2014 10:02
Cette partie du traitement est relativement légère. Ce qui pose problème c'est de remettre toutes les informations relative à un colis sur une seule ligne et je n'ai pour le moment pas trouvé d'autre moyen qu'un curseur qui va générer autant de requête qu'il y a de ligne dans la table temporaire.
Si quelqu'un a une idée géniale, je suis preneur !
Merci
Fred
Partager