Usuário com melhor resposta
FTP Task, arquivo não existe.

Pergunta
-
Bom dia pessoal,
Tenho uma rotina que baixa vários arquivos de um fornecedor via FTP, através da ferramenta FTP Task.
Funciona muito bem, porem me deparei com um problema, quando o arquivo não existe, ocorre o seguinte erro:
[Tarefas FTP] Error: O arquivo representado por "User::NOME_ARQUIVO" não existe.
preciso que caso o arquivo não exista, ele faça um tratamento de update no meu banco de dados, e continue normal dentro do foreach para o próximo arquivo, na verdade, seria interessante mesmo, eu verificar se existe arquivo antes mesmo de tentar baixar... mas não sei qual a melhor forma de fazer isso.
Respostas
-
Will, boa noite
Coloque o seu FTP Task dentro de um Foreach Loop Container. Configure o Foreach Loop Container com uma variável que receba o nome do arquivo. Defina o Foreach para realizar o "looping" em uma pasta "Foreach File Enumerator" e passe o valor da varíavel (nome do arquivo) para o componente FTP.
Quando não houver arquivos no seu FTP, o Foreach não executará e assim o seu pacote falhará.
Abs.
Eduardo Gomes
MTA - MCSA SQL Server 2012 - MCSE Business Intelligence
http://edugp.wordpress.com/
Twitter: @edugp_sp- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 1 de agosto de 2015 00:19
- Marcado como Resposta Durval RamosModerator domingo, 27 de setembro de 2015 20:43
Todas as Respostas
-
Will,
Então para realizar esta verificação talvez seja o caso de utilizar algum componente do tipo File Task!!!!
Qual é a versão do SQL Server e Integration Services que você esta utilizando?
Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Will, boa noite
Coloque o seu FTP Task dentro de um Foreach Loop Container. Configure o Foreach Loop Container com uma variável que receba o nome do arquivo. Defina o Foreach para realizar o "looping" em uma pasta "Foreach File Enumerator" e passe o valor da varíavel (nome do arquivo) para o componente FTP.
Quando não houver arquivos no seu FTP, o Foreach não executará e assim o seu pacote falhará.
Abs.
Eduardo Gomes
MTA - MCSA SQL Server 2012 - MCSE Business Intelligence
http://edugp.wordpress.com/
Twitter: @edugp_sp- Sugerido como Resposta Junior Galvão - MVPMVP sábado, 1 de agosto de 2015 00:19
- Marcado como Resposta Durval RamosModerator domingo, 27 de setembro de 2015 20:43