DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 906560 - Última revisão: sexta-feira, 22 de setembro de 2006 - Revisão: 3.2

 

Sumário

Quando você usa o Microsoft SQL Server Business Intelligence Development Studio para criar um pacote do Microsoft SQL Server 2005 Integration Services (SSIS), você pode incluir uma tarefa de script no pacote do SSIS para executar uma tarefa.

Por exemplo, a tarefa pode escrever uma coleção de informações de variáveis no log de eventos do aplicativo do Windows. Você pode criar um pacote do SSIS que contém uma tarefa de fluxo de dados. Esta tarefa de fluxo de dados inclui uma transformação Row Count. Você pode usar uma tarefa de script para gravar os dados que foi preenchidos pela transformação Row Count no log de eventos do aplicativo do Windows.

Este artigo descreve como usar uma tarefa de script para gravar informações em log de eventos do aplicativo Windows.

Mais Informações

Este exemplo pressupõe que você tenha criado os seguintes elementos no pacote do SSIS:
  • Uma Data Tarefa de fluxo
  • Uma tarefa de script
  • Um conector da tarefa de fluxo de dados para a tarefa de script
  • A tarefa de fluxo de dados, você criou uma transformação Row Count no fluxo de dados.
Quando você executar o pacote, a contagem de linha transformação retorna os dados de contagem de linha que você deseja gravar no log de eventos do aplicativo do Windows.

Para fazer isso, execute estas etapas no SQL Server Business Intelligence Development Studio:
  1. Quando a guia de Fluxo de controle está ativa, clique com o botão direito do mouse na superfície de design e, em seguida, clique em variáveis . A janela de variáveis é exibida no painel esquerdo.
  2. Na janela variáveis , clique em Adicionar a variável para adicionar uma variável que é chamada mycount. Por padrão, o tipo de dados de nova variável mycount é Int32 .

    Observação Diferenciam maiúsculas de minúsculas referências a nomes de variáveis.
  3. Clique duas vezes em tarefa Data Flow . A guia de Fluxo de dados é exibida.
  4. Clique duas vezes em transformação Row Count . A caixa de diálogo Editor avançado é exibida.
  5. Defina o valor da propriedade nome_da_variável para mycount .
  6. Clique na guia Fluxo de controle e, em seguida, clique duas vezes a Tarefa de script . A caixa de diálogo Editor de tarefa de script é exibida.
  7. Clique no item script no painel esquerdo e, em seguida, altere o valor da propriedade ReadOnlyVariables para o seguinte valor: nome de
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    Observação O pacote, hora de início e ExecutionInstanceGUID itens são variáveis do sistema. Essas variáveis de sistema são usadas para gravar as informações de pacote no log de eventos do aplicativo do Windows.
  8. Na caixa de diálogo Editor de tarefa de script , clique em Scripts de design .
  9. Certifique-se que os namespaces a seguir estejam incluídos em seu código antes de qualquer outra declaração:
    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Quando for exibida uma nova janela do Microsoft Visual Studio for Applications , substitua o exemplo de código a seguir com o código no 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. Feche a janela Microsoft Visual Studio para o aplicativo .
  12. Na caixa de diálogo Editor de tarefa de script , clique em OK .
  13. Pressione F5 para executar o pacote.
Quando o pacote é executado com êxito, informações semelhante à seguinte aparecem no log de eventos do aplicativo Windows:

Tipo de evento: informações
Origem do evento: RowCountReporting do SSIS
Categoria do evento: disco
IDENTIFICAÇÃO de evento: 777
Data: 10/8/2005
Tempo: 11:30:51 PM
Usuário: N/d
ComputerName do computador:
Descrição:
Linhas processadas:
Caso linhas: 3
=============================================
O pacote: RowCountsInEventLog
Iniciada: 14/9/2005 2:27:19 PM
Hora: 9/14/2005 2:27:19 PM atual
=============================================
Pacote executar duração em segundos: 0
Execução GUID: {07406D68-487F-4733-BA3A-DA66A8AF7EFA}

Para obter mais informações, consulte o Centro de Ajuda e suporte em http://support.microsoft.com.

Referências

Para obter mais informações, consulte os tópicos a seguir no Microsoft SQL Server 2005 Books Online:
  • Tarefa de script
  • A tarefa de script de programação
  • Como: definir propriedades de tarefa usando um editor de tarefa
Para obter mais informações sobre como gravar em log de eventos do aplicativo Windows usando o Microsoft Visual Basic, visite o seguinte site da Web Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/07347hdt.aspx (http://msdn.microsoft.com/en-us/library/07347hdt.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
Palavras-chave: 
kbmt kbsql2005ssis kbhowto KB906560 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 906560  (http://support.microsoft.com/kb/906560/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store