Como posso transferir arquivos entre diretórios com ftp usando SSIS?
Como posso transferir ficheiros entre directórios com ftp utilizando SSIS?
Sei que posso apagar e voltar a carregar o ficheiro, mas há uma maneira mais fácil?quero transferir um ficheiro com o qual terminei para uma pasta de 'arquivo'.
1 answers
A resposta teórica é que você usaria a combinação dos comandos RNFR (mudar o nome de)/RNTO (mudar o nome para) para mudar o nome (mover) de um ficheiro. Dentro da sua sessão FTP, você emitiria um comando como
ftp> rnfr /src/test/done.txt
ftp> rnto /src/test/Archive/done.txt
Eu digo teórico como o meu teste usando o cliente FTP da linha de comandos Windows (system32\ftp.a ligação a um servidor ftp z/OS resultaria no cliente indicando que RNFR / RNTO é um Invalid command
O windows client implementa um renomeia método que sob as folhas parecem emitir RNFR / RNTO.
Uma simples mudança de nome parece
ftp> rename empty.txt e.txt
350 RNFR accepted. Please supply new name for RNTO.
250 /src/test/empty.txt renamed to /src/test/e.txt
No entanto, não consegui fazê-lo mover-se para um directório
ftp> rename empty.txt Archive
350 RNFR accepted. Please supply new name for RNTO.
550 RNTO fails: /src/test/Archive is a directory.
ftp> rename empty.txt Archive/
350 RNFR accepted. Please supply new name for RNTO.
550 RNTO fails: /src/test/Archive/ is a directory.
ftp> rename empty.txt Archive/emp.txt
350 RNFR accepted. Please supply new name for RNTO.
550 Renaming attempt failed. Rc was 111
Não sei se isto é uma falha da implementação do cliente ou do servidor (ou ambos). Ou, pode ser apenas um conjunto insuficiente de permissões para as minhas credenciais.
Como é que isto se aplica à SSIS?Sejam quais forem os passos que forem necessários para que a mudança de nome funcione numa linha de comandos, será o mesmo conjunto de comandos que você vai querer emitir. Se você estiver usando o built-in FTP Task
, você verá que não há nenhum nome diferente disponível para você. Você também pode descobrir que é uma das tarefas mais perigosas na caixa de ferramentas. Em vez disso, sou um forte defensor de usar um ficheiro de comando para o cliente FTP do windows ou usar a biblioteca FTP. net
Referências
- RFC on FTP describing what standard command should page (page 31) http://tools.ietf.org/html/rfc959
- exemplos de comandos FTP comuns http://www.hiteksoftware.com/help/English/FtpCommands.htm
- um exemplo de como a RNFR/RNTO deve funcionar http://trac.filezilla-project.org/ticket/2218