1

SSISを使用してftpでディレクトリ間でファイルを転送するにはどうすればよいですか?

ファイルを削除して再アップロードできることはわかっていますが、もっと簡単な方法はありますか?

作業を終えたファイルを「アーカイブ」フォルダに転送したい。

4

1 に答える 1

4

理論的な答えは、ファイルの名前を変更 (移動) するには、コマンド RNFR (名前の変更元)/RNTO (名前の変更先) の組み合わせを使用することです。FTP セッション内で、次のようなコマンドを発行します。

ftp> rnfr /src/test/done.txt
ftp> rnto /src/test/Archive/done.txt

z/OS ftp サーバーに接続する Windows コマンドライン FTP クライアント (system32\ftp.exe) を使用してテストした結果、クライアントは RNFR/RNTO がInvalid command

Windows クライアント、シートの下で RNFR/RNTO を発行しているように見える名前変更メソッドを実装しています。

単純な名前変更は次のようになります

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

ただし、ディレクトリの下に移動することはできませんでした

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

これがクライアント実装またはサーバー (またはその両方) の失敗であるかどうかはわかりません。または、資格情報に対するアクセス許可のセットが不十分である可能性があります。

これは SSIS にどのように適用されますか?

コマンドラインで名前の変更を機能させるために必要な手順は、発行するコマンドのセットと同じになります。組み込みの を使用している場合は、FTP Task使用できる名前の変更がないことがわかります。また、これがツールボックスの中で最も厄介なタスクの 1 つであることに気付くかもしれません。代わりに、Windows FTP クライアント用のコマンド ファイルを使用するか、.NET FTP ライブラリを使用することを強く推奨します。

参考文献

于 2012-12-05T19:54:36.297 に答える