Dit is niet noodzakelijk een antwoord op hoe u het probleem kunt oplossen, maar het is een antwoord op hoe u uw scripttaak kunt aanpassen om een betere foutmelding te krijgen dan "Scripttaakfout:er is een uitzondering opgetreden..."
We zullen onze scripttaken altijd in een try-catch verpakken en vervolgens het uitzonderingsbericht weer uit de scripttaak halen:
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;
}
}
Het is altijd een uitdaging, vooral met een geïmplementeerd SSIS-pakket, wanneer het fouten maakt bij een scripttaak, krijg je niet per se een duidelijke indicatie waarom het faalt en krijg je een cryptische foutmelding. De bovenstaande code legt vast wat de uitzondering veroorzaakte en bubbelt terug naar integratieservices wat dat was.