none
importação de um arquivo texto RRS feed

  • Pergunta

  • Senhores

    Não tenho muita experiência com o Integration, e não achei uma solução ainda pesquisando na internet; eu preciso importar um arquivo texto (uma unica coluna apenas) e estou diante das seguintes dificuldades.

    • preciso "splitar" o campo e pegar apenas a primeira parte
    • essa "primeira parte" irá se repetir, eu precisaria de algo como um distinct para inserir adequadamente apenas uma vez os valores
    Alguém tem uma dica de como posso realizar essa tarefa, eu consegui importar sem qualquer tratamento, mas obviamente não me atende completamente.

    Obrigado a todos

    domingo, 7 de fevereiro de 2010 13:33

Respostas

  • Minha estrutura ficou da seguinte forma:

    Flat File Source ("conexão" com o arquivo texto)

    Script Component (um script C# [script abaixo] onde eu fiz o split e devolvia a primeira parte, lembrando que este valor acabava se repetindo)

    string current = Row.DESCRICAO.Split(new string[] { " - " }, StringSplitOptions.None)[0];
    Row.Result = current.ToLower();  


    Sort (este componente dentre as opções de ordenação possui a opção "excluir duplicidades", o que acabava eliminando a gordura)

    ADO NET Destination (minha base de destino)

    • Marcado como Resposta RodrigoBraga quinta-feira, 11 de fevereiro de 2010 17:14
    quinta-feira, 11 de fevereiro de 2010 17:12

Todas as Respostas

  • Rodrigo,

    Utilizando um OLE DB Source, você pode construir uma consulta, selecionando no Data Access Mode: "SQL Command" fazendo o SPLIT usando a função substring() e o distinct para retornar apenas os valores diferentes.

    algo parecido com isso:

    SELECT DISTINCT
             substring(coluna,1,charindex('-',coluna1)-1)
    FROM
             tabela


    espero ter ajudado

    Abs

    --
    Lelo
    domingo, 7 de fevereiro de 2010 14:51
  • Rodrigo,

    Você deverá configurar o componente Flat File Source para obter os dados do arquivo texto, depois criar um link como o componente OLE DB Command que irá tratar os dados, utilizando o exemplo que o Lelo postou e por último utilizar o componente OLE DB Destionation para armazenar os dados no SQL Server.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    domingo, 7 de fevereiro de 2010 18:15
    Moderador
  • Minha estrutura ficou da seguinte forma:

    Flat File Source ("conexão" com o arquivo texto)

    Script Component (um script C# [script abaixo] onde eu fiz o split e devolvia a primeira parte, lembrando que este valor acabava se repetindo)

    string current = Row.DESCRICAO.Split(new string[] { " - " }, StringSplitOptions.None)[0];
    Row.Result = current.ToLower();  


    Sort (este componente dentre as opções de ordenação possui a opção "excluir duplicidades", o que acabava eliminando a gordura)

    ADO NET Destination (minha base de destino)

    • Marcado como Resposta RodrigoBraga quinta-feira, 11 de fevereiro de 2010 17:14
    quinta-feira, 11 de fevereiro de 2010 17:12