Déterminer si le fichier est vide (SSIS)
Je suis en train de développer un package SSIS 2005 et une partie de mon processus est de vérifier si un fichier sur le réseau est vide ou pas. Si elle n'est pas vide, j'ai besoin de passer une condition de la réussite, sinon, j'ai besoin de passer d'un statut de l'échec. Je pense que j'ai besoin d'une tâche de script, mais je ne suis pas sûr de savoir comment aller à ce sujet. Toute aide est appréciée.
OriginalL'auteur DoubleJ92 | 2011-02-24
Vous devez vous connecter pour publier un commentaire.
Oui, une tâche de Script va faire le travail ici. Ajoutez un à l'aide du Système.IO instruction vers le haut du script, puis quelque chose le long des lignes suivantes dans la méthode Principale sera de vérifier le contenu du fichier.
Edit: VB.Net la version de 2005...
L'écriture d'un script semble trop complexe, par rapport à la solution ci-dessous d'utilisation d'un "nombre de lignes".
Où dois-je ajouter le script? Un diagramme de la serait très utile pour cela. Merci 🙂
OriginalL'auteur grapefruitmoon
Créer une connexion à un fichier plat dans le Gestionnaires de connexions du panneau.
Sous l'onglet flux de Contrôle, ajouter une Tâche de Flux de Données.
Double-cliquez sur la tâche de flux de Données et ajouter une Source de Fichier Plat de Ligne et de poste de Comptage.
Dans le nombre de lignes de propriétés, de créer un nombre de lignes variable.
Dans l'onglet Flux de Contrôle, de créer un flux de contrôle les connexions basées sur le résultat de l' @RowCount.
OriginalL'auteur jim31415
Il y a deux façons de le faire:
Si le fichier est vide signifie taille = 0 vous pouvez créer une Tâche de Script de l'enregistrement:
http://msdn.microsoft.com/en-us/library/ms345166.aspx
Sinon, si le fichier est vide signifie pas de lignes (fichier plat), vous pouvez utiliser l'une transformation de nombre de lignes après la lecture du fichier. Vous pouvez définir une variable à partir de la Ligne de Comptage à l'aide de la " VariableName propriété de nombre de Ligne de l'éditeur et de l'utiliser comme un statut.
OriginalL'auteur pcofre
Ajouter une simple Tâche de Script avec le code suivant(C#) devrait faire l'affaire:
Cette option exécute beaucoup plus rapidement que l'on a accepté de répondre comme il n'a pas besoin de lire le fichier en entier, si vous êtes à vélo à travers un dossier de fichiers et certains d'entre eux sont de grande taille, dans mon cas, ~800 mo, la accepté de répondre à prendrait des années à terme, cette solution s'exécute en quelques secondes.
OriginalL'auteur ASindleMouat