Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Le package SSIS génère une erreur après le déploiement de SQL Server 2012

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.