none
OBTENER CODIGO Y MENSAJE DE ERROR EN DTS RRS feed

  • Pregunta

  • Hola,como hago para en caso de un error en un foreach de archivos que involucran procesos poder capturar en un task .net el codigo y la descripcion del error ??

    Algo asi como el objeto error de programacion,se puede ??

    gracias !!

    viernes, 24 de diciembre de 2010 0:54

Respuestas

  • Hola.

    Estamos hablando de cuestiones muy diferentes. Obtener el error de la ejecución de un procedimiento almacenado es algo trivial, lo puedes hacer con una tarea de ejecución SQL que devuelva un recordset de un solo registro, más o menos así:

    declare @return int
    exec @return = p_MiProcedimiento
    select @return as Retorno
    

    Luego capturas ese dato del retorno y lo tratas como desees (si es 0, todo correcto, si no, los errores que tengas controlados). También puedes hacer uso de las funciones de información de error (http://msdn.microsoft.com/es-es/library/ms179495.aspx).

    Como tienes los datos en variables, los puedes gestionar sin mayor problema en el bucle. Con el volcado de datos, muy parecido, tienes un flujo de error que te deja ahí los datos que en él quieras guardar (código y mensaje, además de los campos que quieras redirigir).

    Faltaría saber qué quieres gestionar en el bucle, a lo mejor existe alguna forma más simple de lograr tus objetivos.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    miércoles, 29 de diciembre de 2010 15:04
    Moderador

Todas las respuestas

  • Hola.

    Generando una salida como la de cualquier otra tarea y llevándola a una tabla (por ejemplo). Depende mucho de qué haga esa tarea, al menos debes saber cómo sacar los errores.

    Moveré este hilo al foro de SSIS.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    viernes, 24 de diciembre de 2010 9:45
    Moderador
  • Tengo el for each y dentro de este hay ejecuciones de sps,hay un bulk insert y un procedimiento.net en caso de que falle cualquiera de estos necesito en la parte que falla el for each obtener el codigo de error,por ejemplo si falla el sp obtener el error que da sql.
    martes, 28 de diciembre de 2010 20:55
  • Hola.

    Estamos hablando de cuestiones muy diferentes. Obtener el error de la ejecución de un procedimiento almacenado es algo trivial, lo puedes hacer con una tarea de ejecución SQL que devuelva un recordset de un solo registro, más o menos así:

    declare @return int
    exec @return = p_MiProcedimiento
    select @return as Retorno
    

    Luego capturas ese dato del retorno y lo tratas como desees (si es 0, todo correcto, si no, los errores que tengas controlados). También puedes hacer uso de las funciones de información de error (http://msdn.microsoft.com/es-es/library/ms179495.aspx).

    Como tienes los datos en variables, los puedes gestionar sin mayor problema en el bucle. Con el volcado de datos, muy parecido, tienes un flujo de error que te deja ahí los datos que en él quieras guardar (código y mensaje, además de los campos que quieras redirigir).

    Faltaría saber qué quieres gestionar en el bucle, a lo mejor existe alguna forma más simple de lograr tus objetivos.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    miércoles, 29 de diciembre de 2010 15:04
    Moderador
  • Hola.

    ¿Avanzaste en algo con el problema?


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/

    domingo, 9 de enero de 2011 15:16
    Moderador