Cómo escribir información en el registro de sucesos de aplicación mediante una tarea de script en un paquete de SQL Server 2005 Integration Services

Seleccione idioma Seleccione idioma
Id. de artículo: 906560 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Cuando se utiliza SQL Server Business Intelligence Development Studio para crear un paquete de Microsoft SQL Server 2005 Integration Services (SSIS), puede incluir una tarea de secuencia de comandos en el paquete SSIS para ejecutar una tarea.

Por ejemplo, la tarea puede escribir una colección de información variable en el registro de eventos de aplicación de Windows. Puede crear un paquete SSIS que contiene una tarea de flujo de datos. Esta tarea de flujo de datos incluye una transformación recuento de filas. Puede utilizar una tarea de secuencia de comandos para escribir los datos se llenó por la transformación recuento de filas en el registro de eventos de aplicación de Windows.

En este artículo se describe cómo utilizar una tarea de secuencia de comandos para escribir información en el registro de eventos de aplicación de Windows.

Más información

En este ejemplo se supone que se han creado los siguientes elementos en el paquete SSIS:
  • Datos Tarea de flujo
  • Una tarea de secuencia de comandos
  • Un conector de la tarea flujo de datos para la tarea de secuencia de comandos
  • En la tarea flujo de datos, ha creado una transformación recuento de filas en el flujo de datos.
Cuando se ejecuta el paquete, el número de fila transformación devuelve los datos de recuento de filas que desee para escribir en el registro de eventos de aplicación de Windows.

Para ello, siga estos pasos en SQL Server Business Intelligence Development Studio:
  1. Cuando se activa la ficha de Flujo de control , haga clic con el botón secundario en la superficie de diseño y, a continuación, haga clic en variables . Aparecerá la ventana de variables en el panel izquierdo.
  2. En la ventana de variables , haga clic en Agregar variable para agregar una variable se denomina mycount. De forma predeterminada, el tipo de datos de la nueva variable mycount es Int32 .

    Nota Las referencias a nombres de variable son distingue entre mayúsculas y minúsculas.
  3. Haga doble clic en la tarea Flujo de datos . Aparece la ficha de Flujo de datos .
  4. Haga doble clic en la transformación Recuento de filas . Aparecerá el cuadro de diálogo Editor avanzado .
  5. Establezca el valor de la propiedad VariableName para mycount .
  6. Haga clic en la ficha de Flujo de control y, a continuación, haga doble clic en la Tarea secuencia de comandos . Aparecerá el cuadro de diálogo Editor de secuencias de comandos la tarea .
  7. Haga clic en el elemento script en el panel izquierdo y, a continuación, cambie el valor de la propiedad ReadOnlyVariables en el siguiente valor: los elementos
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    PackageName la Nota , StartTime y ExecutionInstanceGUID son variables de sistema. Estas variables de sistema se utilizan para escribir la información de paquete en el registro de eventos de aplicación de Windows.
  8. En el cuadro de diálogo Tarea de Script Editor , haga clic en Diseñar secuencia de comandos .
  9. Asegúrate de que los espacios de nombres siguientes están incluidos en el código antes que cualquier otra declaración:
    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Cuando aparezca una nueva ventana de Microsoft Visual Studio para aplicaciones , reemplace el siguiente ejemplo de código con el código en el método Main() .
    	Dim varMyCount As Variable = Dts.Variables("mycount") '
    	Dim varPackageName As Variable = Dts.Variables("PackageName")
    	Dim varStartTime As Variable = Dts.Variables("StartTime")
    	Dim varInstanceID As Variable = Dts.Variables("ExecutionInstanceGUID")
    	Dim PackageDuration As Long
    
    	'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    	' Event log needs
    	'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    	Dim sSource As String
    	Dim sLog As String
    	Dim sEventMessage As String
    	Dim sMachine As String
    	'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    	PackageDuration = DateDiff("s", varStartTime.Value, Now())
    
    	sSource = "RowCountReporting from SSIS"
    
    	' We need the message posted to the Application event log.
    	
    	sLog = "Application"
    	sEventMessage = "Rows Processed: " & Chr(10) _
    	& "     case Rows:" + varMyCount.Value().ToString + Chr(10) _
    	& "=============================================" & Chr(10) _
    	& "The Package: " + varPackageName.Value().ToString _
    	& Chr(10) _
    	& "Started: " & varStartTime.Value().ToString _
    	& Chr(10) _
    	& "Current Time:" & System.DateTime.Now _
    	& Chr(10) _
    	& "=============================================" _
    	& Chr(10) _
    	& "Package Run Duration in seconds: " & PackageDuration _
    	& Chr(10) _
    	& "Execution GUID: " & varInstanceID.Value().ToString
    	sMachine = "."
    
    	If Not EventLog.SourceExists(sSource, sMachine) Then
    	    EventLog.CreateEventSource(sSource, sLog, sMachine)
    	End If
    
    	Dim ELog As New EventLog(sLog, sMachine, sSource)
    
    	ELog.WriteEntry(sEventMessage, EventLogEntryType.Information, 777, 2)
    
    	'###############################
    	Dts.TaskResult = Dts.Results.Success
  11. Cierre la ventana de Microsoft Visual Studio para aplicaciones .
  12. En el cuadro de diálogo Tarea de Script Editor , haga clic en Aceptar .
  13. Presione F5 para ejecutar el paquete.
Cuando el paquete se ejecuta correctamente, información que es similar al siguiente aparece en el registro de eventos de aplicación de Windows:

Tipo de suceso: información
Origen del suceso: RowCountReporting de SSIS
Categoría del suceso: disco
ID. de suceso: 777
Fecha: 8/10/2005
Tiempo: 11:30:51 P.M.
Usuario: N/d
Equipo: ComputerName
Descripción:
Filas procesadas:
caso 3: filas
=============================================
El paquete: RowCountsInEventLog
Iniciada: 14/9/2005 2:27:19 P.M.
Tiempo: 9/14/2005 2:27:19 P.M. actual
=============================================
Paquete ejecutar duración en segundos: 0
GUID de ejecución: {07406D68-487F-4733-BA3A-DA66A8AF7EFA}

Para obtener más información, consulte Ayuda y soporte técnico en http://support.microsoft.com.

Referencias

Para obtener más información, vea los temas siguientes en Microsoft SQL Server 2005 los libros en pantalla:
  • Tarea secuencia de comandos
  • Programar la tarea de secuencia de comandos
  • Cómo: establecer propiedades de tarea utilizando un editor de tareas
Para obtener más información acerca de cómo escribir en el registro de eventos de aplicación de Windows mediante Microsoft Visual Basic, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/07347hdt.aspx

Propiedades

Id. de artículo: 906560 - Última revisión: viernes, 22 de septiembre de 2006 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
Palabras clave: 
kbmt kbsql2005ssis kbhowto KB906560 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 906560

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com