none
Associar uma Variavel a uma nova coluna criada Flat File Source - Texto Enorme... Ajudem-me RRS feed

  • Pergunta

  •  

    Amigos, boa tarde !

     

    Consegui evoluir em um processo , só que agora preciso ajuda dos amigos especialistas.

     

    Vamos lá.

     

    Rotina:

     

    Ler “N” arquivos textos de um diretório e inserir em uma tabela.

     

    Estrutura do arquivo texto:

     

    Um arquivo de LOG criado através do  parâmetro “>” do arquivo Batch. Esse arquivo Batch executa diversos pacotes SSIS criando um log para cada pacote executado.

     

    O que eu fiz até agora.

     

    1- Criei uma variável para receber o nome dos cada arquivo @Arquivo

    2- Adicionei o componente Foreach Loop Container.

    3- Dentro do componente Foreach Loop Container adicionei um Data Flow  Task

    4- Na aba Data Flow criei a conexão Flat File Source informando o primeiro arquivo a ser lido.

    5- Na propriedade Connection String  deixei Expression = @Arquivo

    6- Criei o OLE DB Destination

    7- Estrutura da Tabela

          NAME: TB_ROTINA_SSIS

          DS_ROTINA

          NM_PACOTE

          CD_STATUS_EXECUCAO

          DT_INSERT

     

    O formato  Flat File Source é Ragged Right , assim, a conexão so me trouxe uma coluna chamada COLUNA 0 a qual foi mapeada com o campo DS_ROTINA   da tabela  TB_ROTINA_SSIS.  Os outros campos não obtiveram mapeamento.

     

    Bom se eu executar do jeito que está. Finaliza ok. Mas, aqui está o meu problema. Não consegui associar o nome da variável @Arquivo ao atributo NM_PACOTE.

     

    - Fusei nas propriedades do Flat File Source para ver se tinha a opção Expression , mas nada.

     

    - Criei uma coluna no na conexão Flat File Source e não achei nenhuma propriedade para associar a variável.

     

    Não sei se deu para entender.

     

    Pois tenho 120 arquivos de LOGS, se eu deixar a rotina do jeito que está, ficará uma salada que só.

     

     

     

    Duvida 1:

     

    Como posso associar uma variável a uma  coluna criada na conexão  Flat File Source

     

    Dúvida 2:

     

    Cada arquivo possui essas linhas:

     

    DTExec: The package validation returned DTSER_SUCCESS (0).

    Started:  18:24:27

    Finished: 18:24:29

     

    Antes de dar LOAD na tabela final eu consigo ler somente o status do  DTSER_SUCCESS (0). 0 ou 1 , Started:  18:24:27 e Finished: 18:24:29 ?

     

     

    A estrutura ideal para minha tabela seria essa:

     

    - Estrutura da Tabela

          NAME: TB_ROTINA_SSIS

          DS_ROTINA

          NM_PACOTE

          CD_STATUS_EXECUCAO

          HR_INICIO_PACOTE

          HR_FINAL_PACOTE

          DT_INSERT

     

     

     

    MUNDO IDEAL:

     

    DS_ROTINA =  todo processo do pacote SSIS executado via Batch desfiado para um o arquivo   txt sendo lido pela rotina.

    NM_PACOTE = DIM_TERRITORIO.DTSX

    CD_STATUS_EXECUCAO = 0

     HR_INICIO_PACOTE =18:24:27

    HR_FINAL_PACOTE =18:24:29

    DT_INSERT 16/12/2008

     

     

    Preciso fazer uma auditoria dos pacotes processados e salvar em uma tabela. Alguém tem outra solução mais viável ????

     

     

    Obrigado.

     

    JoieVivre

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    quarta-feira, 17 de dezembro de 2008 19:36