none
Integração com SSIS RRS feed

  • Pergunta

  • Olá pessoal,

    eu preciso criar um projeto de integração entre dois sistemas, isto deve ocorrer via troca de arquivos .txt então estou inclinado a usar SSIS porém nunca usei ele em um projeto grande, somente em algumas importações.

    Tenho algumas dúvidas:

    1) Algum serviço pode ficar monitorando um FTP para que quando o arquivo seja gerado em um local ele seja utilizado?

    2) É possível trabalhar com web services no SSIS?

    De momento é isso galera|!!!

    Abração


    Leonardo Jacques da Silva Desenvolvedor .net

    segunda-feira, 14 de maio de 2012 19:17

Respostas

  • Leonardo, boa tarde.

    Conseguiu solucionar o problema com o exemplo que te encmainhei por email ?

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Leosul quarta-feira, 27 de junho de 2012 11:55
    sexta-feira, 15 de junho de 2012 19:54

Todas as Respostas

  • Leo, segue as respostas:

    1) Algum serviço pode ficar monitorando um FTP para que quando o arquivo seja gerado em um local ele seja utilizado?

    R. Sim é possível

    http://www.techbubbles.com/sql-server/using-file-system-task-and-ftp-task-in-sql-server-ssis/

    2) É possível trabalhar com web services no SSIS?

    R. Sim é possivel

    http://www.codeproject.com/Articles/24999/Calling-a-Web-Service-from-a-SQL-Integration-Servi


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    terça-feira, 15 de maio de 2012 18:08
  • Perfeito Eduardo, uma pergunta que apareceu no meu trabalho, vou receber um arquivo estruturado da seguinte forma:

    |1|233444|DJASDKAHSKDASHD|DSLFS|
    |2|233444|01003|PRETO|33,34|233444010030334|
    |2|233444|01003|PRETO|   35|233444010030350|
    |2|233444|01004|VERMELHO|   36|233444010040360|
    |3|233444|41|0000000000002590|

    onde a primeira coluna representa o tipo de registro que eu vou receber, ex:

    1 = Produto

    2 = Código de Barras

    etc...

    neste caso cada linha pode ser uma tabela diferente que eu vou trabalhar, a pergunta é, com ssis eu consigo tratar isto, pois pelos testes que eu fiz eu só consigo importar se for para jogar em uma tabela, ele entende que este arquivo é uma única tabela, é isto mesmo?

    Abração!

    Léo


    Leonardo Jacques da Silva Desenvolvedor .net

    quinta-feira, 17 de maio de 2012 16:51
  • Leonardo, boa tarde.

    Neste caso vc poderá utilizar a task condicional split.

    http://www.bimonkey.com/2009/06/the-conditional-split-transformation/

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Leosul quinta-feira, 17 de maio de 2012 17:50
    • Não Marcado como Resposta Leosul quinta-feira, 17 de maio de 2012 18:49
    quinta-feira, 17 de maio de 2012 17:37
  • Valeuu Eduardo.

    Léo


    Leonardo Jacques da Silva Desenvolvedor .net

    quinta-feira, 17 de maio de 2012 17:50
  • Eduardo,

    Um detalhe que eu não mencionei é de que meu  arquivo possui várias sessões e que cada uma delas pode ir para uma tabela diferente, ou seja meu arquivo é irregular, desta forma pelo que pude perceber eu não consigo usar o Conditional Split, será que só com script?

    abraço


    Leonardo Jacques da Silva Desenvolvedor .net

    quinta-feira, 17 de maio de 2012 18:49
  • Leonardo, boa tarde.

    É possível utilizar o condicional split task para tal necessidade. Vc pode parametrizar uma vários "cases" dentro desta task de forma a definir um critério para dividir os dados, e este dados podem ser direcionados para tabelas diferentes.

    Veja o exemplo:

    Neste exemplo quando o campo "tipo" tiver o valor "0" ele vai direcionar para uma tabela diferente, conforme o outro exemplo abaixo:

    Cada OLE DB Destination que vc está vendo no exemplo, está apontando pra uma tabela diferente, de acordo com os "cases" definidos no condicional split.

    Qualquer dúvida estou a disposição.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Leosul quinta-feira, 17 de maio de 2012 19:13
    • Não Marcado como Resposta Leosul segunda-feira, 21 de maio de 2012 13:36
    quinta-feira, 17 de maio de 2012 19:07
  • Eduardo,

    perfeito, tens razão desta forma é a solução.

    Coisas muito personalizadas ou tratamentos muito específicos eu posso usar script.

    Obrigado!

    Léo


    Leonardo Jacques da Silva Desenvolvedor .net

    quinta-feira, 17 de maio de 2012 19:14
  • Oi pessoal, eu fiz os ajustes conforme o Eduardo colocou, mas antes do próprio Conditional Split estou com outro problema, como meu arquivo contém vários tipos de registros nas linhas aos quais são definidos pelo Tipo na leitura da linha nem todos possuem a mesma quantidade de colunas e estou com problemas na hora de configurar o Flat File Source, segue o print:

    Observem que a primeira coluna é que define o tipo de registro, no caso do meu Tipo = 2 ele difere em número de colunas assim pode acontecer com outros tipo.

    Isto está causando problemas pois preciso dos registros separados, alguém tem alguma sugestão?

    Abs

    Léo


    Leonardo Jacques da Silva Desenvolvedor .net

    segunda-feira, 21 de maio de 2012 13:43
  • Leonardo, bom dia.

    A task Condicional Split deve estar ligada diretamente no arquivo texto de origem, para que no momento da importação vc crie layout´s de entradas separadamente para cada tipo de linha do arquivo.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 21 de maio de 2012 13:54
  • Sim e desta forma estou fazendo, quando você fala em criar layout's onde isto deve ser feito?

    abs


    Leonardo Jacques da Silva Desenvolvedor .net

    segunda-feira, 21 de maio de 2012 14:48
  • Leonardo, bom dia.

    Os layout´s devem ser customizados na task OLE DB Destination. Para cada layout vc deve configurar uma OLE DB Destination diferente para cada tipo de linha.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    terça-feira, 22 de maio de 2012 14:44
  • Eduardo, demorei em responder mas sobre o assunto que estamos tratando não se refere ao destination pois lá sei que posso tratar, o problema é no flat file source pois meu arquivo separa os campos por pipe | e tenho tipos de registros diferentes nas linhas basicamente 3 tipo diferentes e na tela do flat file source ele não separa isso.

    Eu testei várias vezes e não separa.

    Como posso resolver isso, alguém sabe?

    Att,

    Léo


    Leonardo Jacques da Silva Desenvolvedor .net

    terça-feira, 29 de maio de 2012 20:52
  • Leonardo, dá pra fazer sim.

    Vou montar um exemplo e te encaminho. Qual o seu email?

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    terça-feira, 29 de maio de 2012 20:55
  • Opa,

    meu email é o leosul@gmail.com

    Abs


    Leonardo Jacques da Silva Desenvolvedor .net

    quarta-feira, 30 de maio de 2012 12:11
  • Te mandei o exemplo por email.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    quarta-feira, 30 de maio de 2012 19:02
  • Leonardo, boa tarde.

    Conseguiu solucionar o problema com o exemplo que te encmainhei por email ?

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    • Marcado como Resposta Leosul quarta-feira, 27 de junho de 2012 11:55
    sexta-feira, 15 de junho de 2012 19:54
  • Desculpe a demora na resposta, consegui sim. O exemplo mostrou perfeitamente o que eu estava precisando.

    Obrigado.


    Leonardo Jacques da Silva Desenvolvedor .net

    quarta-feira, 27 de junho de 2012 11:55
  • Olá boa tarde,

    Também estou passando por um problema semelhante , poderia me enviar tb por email ?

    emanoellalima@hotmail.com

    Desde já obrigada

    sexta-feira, 19 de julho de 2019 17:44