L'échec de la tâche peut être causée par certaines valeurs qui ne peuvent pas être converties (contient une valeur non numérique)
Dans le composant de conversion de données, vous pouvez régler la sortie d'erreur à Ignore failure
alors si NAME1
ne peut pas converti en DT_I8
la nouvelle valeur de la colonne sera NULL
Vous pouvez en savoir plus dans cet article de blog utile:
Une autre solution
Vous pouvez y parvenir en utilisant un script Component
au lieu de Derived Column
Il suffit d'ajouter un composant de script, ajoutez une colonne de sortie de type DT_I8
(en supposant qu'il est le nom est OutColumn
) et marquer la colonne NAME1
comme entrée.
Dans la fenêtre de script écrire le script suivant (en utilisant Vb.Net):
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub InputBuffer0_ProcessInputRow(ByVal Row As InputBuffer0)
Dim intValue as Int64
If Not Row.NAME1_ISNULL AndAlso
Not String.iSnullOrEmpty(Row.NAME1.Trim) AndAlso
Int64.TryParse(Row.NAME1.Trim, intValue) Then
Row.OutColumn = intValue
Else
Row.OutColumn_IsNull = True
End If
End Sub
End Class
Bonne réponse. Merci! – Gerardo