2017-12-07 14 views
0

SSISでファイルをsftpサーバーにアップロードするプロセス実行タスクを作成しました。私はサーバーフォルダへの完全なアクセス権を持っており、filezillaを使用してファイルをドラッグ&ドロップすることができました。私はアップロードを行うためにパテsftpクライアントpsftp.exeを使用しています。今では、psftp.exeをユーザとパスとバッチ引数で使用すると、Windowsのcmdでは完璧に動作します。PSFTP.exeを使用してsftpサーバーにファイルをアップロード中にプロセスタスクを実行する際にエラーが発生しました

psftp.exe [email protected] -b UploadUsersToSftp.bat 

し、それがパスワードを要求し、パスワードを入力した後、ファイルのアップロードが行われます。

Error: 0xC0029151 at Execute Process Task, Execute Process Task: In Executing "C:\temp\psftp.exe" "user -pw pass -be -batch -b Upload.bat" at "C:\temp", The process exit code was "1" while the expected was "0". 
Task failed: Execute Process Task 

私の窓cmdを引数は、次のとおりです。私はSSISで同じことを実行する場合でも、私は次のエラーを取得します成功しました。しかし、私はSSISを通じて同じことをするのに問題があります。私はオンラインで検索し、いくつかhereで同様の質問が、PSFTPに固有の何を発見した

enter image description here

:以下は、SSISプロセスタスク引数のスクリーンショットです。また、同じ質問がstackoverflow hereに見つかりましたが、上記の解決策は私がすでにチェックしたパーミッションです。

ご協力いただければ幸いです。

+1

* "windows cmd引数" *はSSIスクリーンショットの引数と一致しません。 –

答えて

1

SSISは、おそらく "Windows cmd"で使用するアカウントとは異なるローカルアカウントで実行されます。

SFTPアクセスにはホストキーの確認が必要です。過去にローカルアカウントのホスト鍵を検証している可能性があります。そのため、Windowsレジストリにキャッシュされています。

ただし、SSISを実行するアカウントにはキャッシュされたホストキーがありません。だから失敗するはずです。

コマンドラインにpsftp.exeスイッチを追加し、予想されるホストキーの指紋で置き換える必要があります。それでも解決しない場合は


、バッチファイルにpsftp.exeをラップし、ファイルに出力をリダイレクトします。

psftp.exe [email protected] -b UploadUsersToSftp.bat > c:\temp\psftp.out 2>&1 

psftp.exeの代わりにSSISでバッチファイルを直接実行してください。

次に、ファイルのエラーをチェックします。

関連する問題