Script VB.NET pour incrémentation de variable
Bonjour,
J'ai besoin de vos lumières svp, j'ai besoin de faire un composant script dans ssis 2005 qui permet de boucler sur les lignes d'un dataset en entrée.
Ces lignes contiennent des données ordonnées par 'champ1',je souhaite via ce script attribuer une valeur à un champ nommé 'Chp2' de type int de la manière suivante:
Parcourir les lignes, pour la première ligne, il faut attribuer la valeur d'une variable en entrée au 'Chp2' de type int
Après il faut tester le lignes suivantes si la valeur du 'champ1' ne change pas on ne fait rien on gare la même valeur pour le 'Chp2' sinon si la valeur change on incrémente 'Chp2' de 1 ainsi de suite jusqu'à la fin des lignes.
Merci d'avance.:(
SSIS 2005 INcrémentation variable group bu un autre champ
Merci pour votre réponse.
Cependant je pense que vous n'avez pas très bien lu mon message ou vous ne l'avez pas compris.
Mon problème c'est de PARCOURIR toute les lignes du dataset et de comparer ligne par ligne le champ 1
Si la valeur du champ 1 ne change pas je n'incrémente pas la variable sinon je l'incrémente et le script que vous m'avez donné ne fait pas ça.
Merci encore pour votre aide.
Toutes vos suggestions seraient les bienvenue.
SSIS 2005 Incrémentation variable group by un autre champ
Bonjour,
"Ca signifie simplement que vous utilisez une valeur définie en .NET qui stocke la dernière valeur vue"
Comment on fait pour stocker la dernière valeur vue dans une variable?
En utilisant le script?
Je suis débutant sur SSIS et je ne connais pas VB.net donc si vous pouviez m'aider, je vous en remercie d'avance.
Merci.
SSIS 2005 Incrémentation variable
Bonjour,
Je travaille sur un composant script SSIS 2005, j'ai une variable que j'utilise dans mon package, je souhaite appeler cette variable au niveau de mon script et l'incrémenter autant de fois que de lignes d'entrée dans mon dateset.
J'ai fait ce script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Public Class ScriptMain
Inherits UserComponent
Dim Counter As Integer
Public Sub New()
' 'Initialise the variable
Counter = Me.Variables.vNNN006
' 'MsgBox(Counter)
'End Sub
Public Overrides Sub Entrée0_ProcessInputRow(ByVal Row As Entrée0Buffer)
'
' Add your code here
'
Counter = Me.Variables.vNNN006
Counter += 1
Row.EDOCS = Counter
'MsgBox.Show(Counter.ToString())
MsgBox(Counter)
End Sub
End class |
Mais le problème c'est que je n'arrive pas à l'exécuter, j'ai une exception :
Citation:
Erreur de validation. Tâche de flux de données*: Composant Script [296]*: System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel. ---> Microsoft.SqlServer.Dts.Pipeline.ReadOnlyVariablesNotAvailableException: La collection de variables verrouillée pour l'accès en lecture n'est pas disponible à ce stade. à Microsoft.SqlServer.Dts.Pipeline.ScriptComponent.get_ReadOnlyVariables()...
Je ne comprends pas d'où vient cette exception, je n'ai pas d'erreur au niveau de mon script.
Merci d'avance pour votre aide.