Dans ma tâche de composant de script SSIS (PAS la tâche de script, qui peut être ajoutée à un flux de contrôle, mais la tâche de composant de script ajoutée dans les flux de données) une erreur de manipulation dans la partie de capture d'un bloc try, catch
:SSIS - Composant de script - Changer l'icône en fonction des résultats
// No connection was created. Exit gracefully
bool cancelOnError = false;
ComponentMetaData.FireError(ErrorCode: 10, SubComponent: "SubComponent",
Description: "Couldn't set up the connection. This could be because an invalid host was
provided, or due to a firewall blocking the connection.", HelpFile: "", HelpContext: 0,
pbCancel: out cancelOnError);
tout cela fonctionne très bien, la tâche de script attraper l'erreur que je soulève dans mon code. Je peux aussi voir l'erreur dans les journaux:
Error: 0xA at DFT Extract, SubComponent: Couldn't set up the connection.
This could be because an invalid host was provided, or due to a firewall
blocking the connection.
Cependant, l'icône de la tâche est verte, et une tâche suivante je définissais pour traiter les résultats est congédié (il n'y a rien à traiter, bien que, comme cela erreur particulière se produit avant le traitement des données):
Le flux de données montre correctement une icône de la croix rouge. Y a-t-il un moyen de changer l'icône sur le composant Script, ou une meilleure façon de simuler (élégamment) une erreur showstopping?
Je trouve this page on Microsoft, montrant la différence entre la tâche de script et des composants de script, qui stipule aussi:
Le composant de script fonctionne comme une partie de la tâche de flux de données et ne pas les résultats du rapport en utilisant l'une de ces Propriétés.
Cela ne m'a pas beaucoup d'espoir, mais j'espère que quelqu'un pourrait avoir un travail autour. Je pense principalement que montrer l'icône verte est quelque peu trompeur lorsque nous piègeons une erreur.
Merci pour la suggestion. J'ai essayé de régler 'True' avant, mais je n'ai pas vraiment remarqué de différence. J'ai surtout peur que tout ce que j'ai traité correctement ne soit pas envoyé à la sortie (nous récupérons les messages d'une file d'attente, et une fois qu'ils sont en file d'attente, nous ne les verrons plus, assurant ainsi qu'ils passent correctement est crucial pour nous). Cependant, je peux donner un moment à l'exception. Merci pour la suggestion :) – SchmitzIT
@SchmitzIT j'ai ajouté une solution de contournement, il pourrait vous aider, vérifiez ma mise à jour de réponse – Hadi