Control de errores en paquete SSIS
-
viernes, 07 de agosto de 2009 14:31Hola.
Saben si se puede controlar errores de un paquete SSIS para que, al ejecutarlo el SQL envíe un error.
Actualmente tengo un paquete guardado en la base de datos y lo ejecuto desde una query utilizando el procedimiento xp_cmdshell y el comando dtexec. Pero esto no me dice si a ocurrido un error o no, solo muestra la salida del comando como filas de una columna. Existe alguna forma de que, en caso de fallo, el SQL envía una excepción, como cualquier otro error?
Respuestas
-
lunes, 10 de agosto de 2009 14:33
Bueno, con ambas respuestas puedo hacer lo que quiero, pero al final existe una más fácil. Resulta que al ejecutar el comando dtexec desde el procedimiento xp_cmdshell, este reporta un código con el resultado de la operación. Entonces en una variable capturo este código y en caso de error, arrojo un error de SQL con raiserror. De esta forma cuando ocurre un error puedo capturarlo desde ASP.NET sin problemas.- Marcado como respuesta Gustavo LarrieraMVP, Moderator lunes, 10 de agosto de 2009 19:09
Todas las respuestas
-
viernes, 07 de agosto de 2009 15:30ModeradorUna idea: Abra el paquete SSIS, clic derecho en un area libre y elija "Logging". Allí usted elige donde desea logear la ejecución del paquete (por ejemplo: en un archivo de texto, una tabla, un archivo XML, etc.). También puede elegir qué eventos desea logear (errores, adevertencias, etc etc).
Para notificar errores usted puede ejecutar el paquete desde un job y configurar notificaciones.
También puede hacer sus propios handlers, vea este artículo:
http://blogs.conchango.com/jamiethomson/archive/2005/06/11/SSIS_3A00_-Custom-Logging-Using-Event-Handlers.aspx
Gustavo Larriera, MVP --- Este mensaje se proporciona tal como es, sin garantías de ninguna clase. --- -
sábado, 08 de agosto de 2009 16:36ModeradorEstimado, lo ideal seria que en su paquete usted por cada componente de dataflow o control flow aplique la logica de errores.
Maxi Accotto Consultoria en SQL Server Buenos Aires - Argentina http://blog.maxiaccotto.com -
lunes, 10 de agosto de 2009 14:33
Bueno, con ambas respuestas puedo hacer lo que quiero, pero al final existe una más fácil. Resulta que al ejecutar el comando dtexec desde el procedimiento xp_cmdshell, este reporta un código con el resultado de la operación. Entonces en una variable capturo este código y en caso de error, arrojo un error de SQL con raiserror. De esta forma cuando ocurre un error puedo capturarlo desde ASP.NET sin problemas.- Marcado como respuesta Gustavo LarrieraMVP, Moderator lunes, 10 de agosto de 2009 19:09