locked
Bulk Insert utilizando Format File RRS feed

  • Pergunta

  • Senhores,

    Mais uma vez venho solicitar ajuda, e preciso muito!

     

    Preciso fazer a utilização do step de inserção em massa no SSIS 2008, porém os exemplos e explicações que localizo no site Microsoft são muito básicos ensinando a como criar o arquivo de formado para um arquivo bem simples e delimitado por tabulação. Quando o que eu necessito é a criação de um format file para um arquivo texto de tamanho fixo, sem delimitadores e com a necessidade de algumas transformações durante a cópia, como por exemplo: a importação de algumas datas que estão no arquivo texto no formato "20101213" ou registros de falores 1234.34 que estão no arquivo texto como "123434". E não faço idéia de como posso fazer isso. Alguém já fez este tipo de processo ou tem algum exemplo ou livro que posso me dar a informação?

    Desde já grato,

    Marco A. Oliveira
    segunda-feira, 13 de dezembro de 2010 19:13

Todas as Respostas

  • Bom dia Marco,

    Pelo que entendi você precisa criar um DATA FLOW dentro da sua solução, dentro deste você trabalhará com o conceito de ORIGEM - TRANSFORMAÇÃO - DESTINO, as ferramentas para isso já estão bem dividas na barra de itens e creio que não terá dificuldade para identificá-las.

    Feito isso, insera um componente de origem correspondente à sua origem (SQL Server, Oracle, XLS, TXT, ...), em seguida dessa origem o fluxo deve serguir para os componentes de transformação, pelo que citou em seu post poderá usar componentes como Derived Column, Data Conversion, Copy Column, os componentes são intuivos e em geral de fácil configuração para formatações básicas.

    Por fim seu destino, no caso um arquivo texto, basta utilizar o componente Flat File Destination, crie o arquivo no layout desejado e configure para que seja subescrito.

    Conforme tiver dúvidas vá postando no fórum.

    Abraços

    terça-feira, 14 de dezembro de 2010 13:28
  • Paulo, Bom dia,

    Primeiramente obrigado pela resposta, porém já utilizei as soluções de Data Flow, mas geram um log absurdo, pois a importação é tratada como um INSERT para o SQL. Por isso gostaria de aprender alguma forma de fazer a importação por BULK INSERT, como fazia no DTS.

     

    Grato,


    Marco A. Oliveira
    terça-feira, 14 de dezembro de 2010 13:37
  • Marco,

    Será que o componente For Each não seria uma possibilidade dentro de um Dataflow?

    Mas também você poderia utilizar o comando Bulk Insert Task!!!!


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    terça-feira, 14 de dezembro de 2010 16:19
    Moderador
  • Junior, Boa Tarde,

    Não vejo como o compenente Foreach pode ajudar na importação de um arquivo texto, se puder explicar um pouco melhor agradeço, quanto ao Bulk Insert Task, é exatamente o que desejo fazer, porém preciso criar um arquivo de Formato para importação de um arquivo texto de tamanho fixo e algumas transformações conforme descrito na minha questão inicial e isso eu não acho exemplos em lugar algum...

     

    Novamente grato,

    terça-feira, 14 de dezembro de 2010 17:25
  • Marco,

    Entendi, realmente o foreach não se aplicaria a sua necessidade, mas o Bulk Insert Task é o caminho.

    Agora me responda, a dúvida neste momento esta em como desenvolver este format file?

    Já consultou o Books On-Line sobre Bulk Insert? Existem alguns exemplos de como se utilizar um format file.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 15 de dezembro de 2010 18:20
    Moderador
  • Junior,

    Sim, a dúvida e na elaboração do Format File.

    e Sim, consultei o books online, porém, só localizei exemplos de criação deste para arquivos Delimitados e bem simples. Minha necessidade inclui a utilização de arquivos de tamanho Fixo e com algumas transformações de dados conforme exemplos que passei na questão inicial. Conhece algum outro local que ternha este tipo de exemplo?

     

    Grato,

    Marco A. Oliveira

    quarta-feira, 15 de dezembro de 2010 18:36
  • Marco,

    Faça uma busca neste links:

    http://www.mssqltips.com/

    http://www.sqlservercentral.com/

    http://www.sqlmag.com/


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    quarta-feira, 15 de dezembro de 2010 18:39
    Moderador
  • Olá Marco,

    Eu estava pesquisando alguma coisa e derrente acho que posso te ajudar.

    Vc já resolveu seu problema?

    quarta-feira, 9 de fevereiro de 2011 18:28