none
Carregar múltiplos arquivos txt SSIS RRS feed

  • Pergunta

  • Bom dia galera, alguns dias atrás surgiu a necessidade de importar vários arquivos .txt, todos com o mesmo layout, na minha package estou utilizando o container "Fooreach Loop Editor", na guia Colletion, informo o caminho dos arquivos e a extensão deles. Mas não está rolando. Alguém tem alguma ideia de como posso importar esses arquivos?

    Obs: na net encontrei apenas tutoriais de como importar um único arquivo, preciso importar no mínimo 3 pares (total de 6).

    Desde já, agradeço.

     
    terça-feira, 25 de novembro de 2014 00:52

Respostas

  • Andre,

    Para obter mais de um arquivo para importação você deve parametrizar a tarefa "Foreach Loop Container" na aba "Collection", mapeando o diretório onde seus arquivos estão armazenados (campo "Folder") e indicando os arquivos que você está buscando (campos "Files"). Veja na imagem abaixo:

    Na aba "Variable Mappings" você define a variável que você utilizará para obter o nome do arquivo. No caso indicado acima, eu criei uma variável "User::Arquivo" do tipo "string".

    Dentro da tarefa "Foreach Loop Container" você deve criar uma tarefa "Data Flow" e com ela você mapeia a origem (a variável "Arquivo" com a referência para os arquivos) e o destino (uma tabela de seu banco).

    Para carregar os arquivos você deve definir a variável "Arquivo" para a propriedade "ConnectionString" do objeto "Flat File Connection Manager", como indicado na imagem abaixo:

    O restante do processo é idêntico a importação de um arquivo para uma tabela.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quarta-feira, 26 de novembro de 2014 11:58
    Moderador
  • Bom dia Durval, obrigado pela força...

    Estava fazendo dessa forma, mas não estava dando certo, dentro do meu diretório eu tenho e terei arquivos com com tipos de layouts (2 para ser exato) diferentes, fazendo assim daria pau na hora de carregar as tabelas, então precisei usar o componente "Script Task" para fazer o que precisava. Deu trabalho, mas saiu.. rs.

    Vlw pela força.

    Abraços.

    André

    • Marcado como Resposta Andre_Bel quarta-feira, 3 de dezembro de 2014 01:13
    quarta-feira, 3 de dezembro de 2014 01:12

Todas as Respostas

  • Andre,

    Para obter mais de um arquivo para importação você deve parametrizar a tarefa "Foreach Loop Container" na aba "Collection", mapeando o diretório onde seus arquivos estão armazenados (campo "Folder") e indicando os arquivos que você está buscando (campos "Files"). Veja na imagem abaixo:

    Na aba "Variable Mappings" você define a variável que você utilizará para obter o nome do arquivo. No caso indicado acima, eu criei uma variável "User::Arquivo" do tipo "string".

    Dentro da tarefa "Foreach Loop Container" você deve criar uma tarefa "Data Flow" e com ela você mapeia a origem (a variável "Arquivo" com a referência para os arquivos) e o destino (uma tabela de seu banco).

    Para carregar os arquivos você deve definir a variável "Arquivo" para a propriedade "ConnectionString" do objeto "Flat File Connection Manager", como indicado na imagem abaixo:

    O restante do processo é idêntico a importação de um arquivo para uma tabela.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quarta-feira, 26 de novembro de 2014 11:58
    Moderador
  • Bom dia Durval, obrigado pela força...

    Estava fazendo dessa forma, mas não estava dando certo, dentro do meu diretório eu tenho e terei arquivos com com tipos de layouts (2 para ser exato) diferentes, fazendo assim daria pau na hora de carregar as tabelas, então precisei usar o componente "Script Task" para fazer o que precisava. Deu trabalho, mas saiu.. rs.

    Vlw pela força.

    Abraços.

    André

    • Marcado como Resposta Andre_Bel quarta-feira, 3 de dezembro de 2014 01:13
    quarta-feira, 3 de dezembro de 2014 01:12