Ce n'est pas nécessairement une réponse sur la façon de résoudre le problème, mais c'est une réponse sur la façon dont vous pouvez modifier votre tâche de script pour obtenir un meilleur message d'erreur que "Échec de la tâche de script :une exception a été levée..."
Nous enveloppons toujours nos tâches de script dans un try-catch, puis renvoyons le message d'exception hors de la tâche de script :
public void Main()
{
try
{
//Your code here
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception ex)
{
Dts.Events.FireError(-1, "", ex.Message, String.Empty, 0);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
C'est toujours un défi, en particulier avec un package SSIS déployé, lorsqu'il y a une erreur sur une tâche de script, vous n'obtenez pas nécessairement une indication claire de la raison de son échec et vous obtenez un message d'erreur crypté. Le code ci-dessus capturera ce qui a généré l'exception et renverra aux services d'intégration ce que c'était.