To niekoniecznie jest odpowiedź na to, jak rozwiązać problem, ale jest to odpowiedź na to, jak zmodyfikować zadanie skryptu, aby uzyskać lepszy komunikat o błędzie niż „Niepowodzenie zadania skryptu:zgłoszono wyjątek...”
Zawsze zawijamy nasze zadania skryptu w try-catch, a następnie podnosimy komunikat o wyjątku z powrotem z zadania skryptu:
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;
}
}
Zawsze jest to wyzwanie, zwłaszcza w przypadku wdrożonego pakietu SSIS, gdy wystąpi błąd w zadaniu scrip, niekoniecznie otrzymujesz jasne wskazanie, dlaczego się nie udaje, i otrzymujesz tajemniczy komunikat o błędzie. Powyższy kod przechwyci to, co spowodowało wyjątek, i przekaże z powrotem do usług integracyjnych, co to było.