J'utilise un package SSIS pour charger un million de lignes à partir d'un fichier plat, qui utilise une tâche de script pour les transformations complexes et une destination de table SQL Server. J'essaie de trouver la meilleure façon (bien, de toute façon à ce stade) d'écrire dans un tableau différent le nombre de lignes (probablement en multiples de 1000 pour être plus efficace) PENDANT le traitement du flux de données. C'est ainsi que je peux déterminer le pourcentage de progression au cours d'une tâche qui peut prendre quelques minutes, simplement en interrogeant la table périodiquement.Mesure de la progression du flux de données SSIS
Je n'arrive pas à ajouter de tâche SQL dans le flux, donc je suppose que le seul moyen est de se connecter à la base de données SQL dans le script .NET. Cela semble douloureux et je ne suis même pas sûr que ce soit possible. Y a-t-il un autre moyen plus élégant? J'ai vu une référence au compteur de performance "Rows Read" mais je ne sais pas où j'accède à cela dans SSIS et je ne sais toujours pas comment l'écrire dans une table SQL pendant le traitement du flux de données.
Toute suggestion appréciée.
Glenn
Eh bien, sa question est de savoir comment faire. N'est-ce pas? – Faiz
Jason, merci. J'ai examiné la journalisation. Malheureusement, l'événement OnProgress se déclenche une fois que le flux de données démarre, puis plus jamais. Je ne peux pas voir un autre événement qui se déclenche par ligne ou d'une autre manière tout au long du flux de données. Je commence à penser que l'option 2 est une possibilité. Pouvez-vous suggérer du code pour établir la connexion. Le problème est que, dans un flux de données, il existe un modèle d'objet «rétréci». Des choses comme les Dts. l'objet n'existe tout simplement pas comme dans le flux de contrôle. Utile, je sais. Il est donc difficile de faire fonctionner la connexion à la base de données. Aucune suggestion? –
Voir la dernière mise à jour ci-dessous ... –