Comment ignorer certains enregistrements dans un composant de script sans utiliser de composant de division conditionnel?Comment ignorer une ligne dans le composant de script
Répondre
Pour ignorer les enregistrements dans un composant de script, vous devez créer le composant de script avec des sorties asynchrones. Par défaut, un composant de script utilise une sortie synchrone, ce qui signifie que chaque ligne entrée dans le script sera également une sortie du script.
Si vous utilisez SQL Server 2005, je pense que vous devrez commencer avec un nouveau composant Script, car vous ne pouvez pas passer de synchrone à asynchrone une fois que vous avez travaillé avec un composant Script. Dans SSIS pour SQL Server 2008, vous pouvez basculer un composant Script de synchrone à asynchrone. Modifiez votre composant Script et sélectionnez l'onglet Entrées et sorties. Sélectionnez le tampon de sortie dans l'arborescence. Sélectionnez la propriété SynchronousInputID et remplacez la valeur par None. Sélectionnez la branche Output Columns dans l'arborescence. Vous devez utiliser le bouton Ajouter une colonne pour créer une colonne pour chaque colonne d'entrée.
Maintenant vous pouvez éditer votre script. Dans la procédure qui traite les lignes, vous allez ajouter du code pour contrôler l'omission et la sortie des lignes. Lorsque vous voulez ignorer une ligne, vous utiliserez la commande Row.NextRow()
où Row est le nom du tampon d'entrée. Voici un exemple:
If Row.number = 5 Then
Row.NextRow()
End If
Dans cet exemple, les lignes qui ont un 5 dans la colonne numérique seront ignorées. Après l'application de votre autre logique de transformation, vous devez indiquer que la ligne doit aller à la sortie. Ceci est initié avec la commande Output0.AddRow()
où Output0 est le nom du tampon de sortie. La fonction AddRow crée le tampon de sortie suivant, qui repousse la ligne précédente du composant Script. Après avoir créé la nouvelle ligne, vous devez affecter des valeurs aux colonnes de la nouvelle ligne.
Output0Buffer.AddRow()
Output0Buffer.number = Row.number
Cet exemple ajoute une nouvelle ligne à la mémoire tampon et affecte la valeur du numéro de la mémoire tampon d'entrée dans la colonne de numéro dans la mémoire tampon de sortie.
- 1. comment ignorer le dossier cvs dans le script Ant
- 2. Erreur dans le composant de script SSIS
- 3. Composant de script
- 4. Gestionnaire de connexions dans le composant de script
- 5. Ignorer les sauts de ligne dans C
- 6. Comment lire et modifier le nom de colonne dans le composant de script dans SSIS
- 7. Comment passer d'une ligne de commande multiple sed dans la ligne de commande à une seule ligne dans le script
- 8. Ignorer la ligne verrouillée dans une requête MySQL
- 9. Regex: Ignorer/Ignorer le modèle
- 10. Rendre BeautifulSoup ignorer le contenu des balises de script
- 11. Ignorer une exception dans le déclencheur Oracle
- 12. Comment puis-je ignorer l'affectation de variable de ligne de commande dans une construction récursive?
- 13. comment lire le fichier ligne par ligne dans un script shell et stocker chaque ligne dans une variable
- 14. Script d'action - comment accéder au composant d'étiquette défini dans le fichier mxml dans la méthode de classe de script d'action?
- 15. Ignorer la barre oblique dans un script shell
- 16. Flex 3: L'affectation de données à un sous-composant échoue dans un composant MXML dans le bloc de script d'action
- 17. Comment ignorer une exception?
- 18. Comment ignorer une révision dans le référentiel svn
- 19. Comment ignorer une erreur explicite dans VS2010?
- 20. Comment empaqueter une ligne de commande Script Python
- 21. Comment ignorer une seule ligne dans un résultat de requête en utilisant SQL ou PHP?
- 22. Ignorer tous les flux de ligne dans un modèle FreeMarker
- 23. Comment dire exploser pour ignorer les flux de ligne?
- 24. Comment récupérer la valeur de fonction du script java dans le composant webview
- 25. Comment écrire une sortie de script dans un fichier et une ligne de commande?
- 26. Comment limiter le nombre de lignes et de caractères par ligne dans un composant TMemo
- 27. Comment ignorer une référence GAC de Cassini?
- 28. Comment placer le paramètre de ligne de commande dans le script shell
- 29. Composant de script SSIS écrire dans la variable
- 30. ignorer le symbole (@) dans les fichiers makefiles
J'ai eu cette erreur msg: [Composant Script [74]] Erreur: Microsoft.SqlServer.Dts.Pipeline.RowIndexOutOfRangeException: PipelineBuffer a rencontré une valeur d'index de ligne non valide. à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException (Exception e) à Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput (Int32 inputID, tampon PipelineBuffer) à Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput (Wrapper IDTSManagedComponentWrapper100, Int32 inputID, IDTSBuffer100 pDTSBuffer, IntPtr bufferWirePacket) – ARZ
le problème était dans mon code! et je l'ai résolu. Merci beaucoup pour votre réponse! – ARZ