毎月、FTPを使用してサーバーにレポートを送信します。データベースでクエリを実行してファイルを作成し、LabVIEWのftp機能を使用して転送を行います。これはWindowsシステムで実行されます。
これは正常に機能しますが、SFTPの使用に切り替える必要があり、CopSSHパッケージが推奨されています。LabVIEWにはネイティブのSFTP機能がないため、CopSSHからsftp.exeアプリケーションを使用する方法を検討しています。
コマンドプロンプトから、暗号化を設定し、パスワードを使用して初期接続を確立しsftp username@host
、パスワードを入力しました。これはサーバー側のチームによって確認されているため、サーバーへの接続が設定されます。今は使用するだけsftp username@host
で、パスワードは必要ありません。
私たちが苦労しているのは、LabVIEWコードからの転送を開始する方法です。System Exec VIを使用してシステムコマンドを呼び出すことはできますが、関数のリストをSFTP
実行可能ファイルに渡す方法はありますか?
コマンドプロンプトでファイルを入力するときにファイルを転送するために使用されるコマンドは次のとおりです。
sftp username@host
put c:/Data/File1.txt remoteFile1
put c:/Data/File2.txt remoteFile2
put c:/Data/File3.txt remoteFile3
quit
これはコマンドプロンプトから機能しますが、転送するファイルのリストを使用してsftp実行可能ファイルを呼び出すだけです。バッチファイルを使用してスケジュールされたジョブから実行できるため、これはLabVIEWに固有のものではないと思います。
LabVIEWはActiveXと.netを呼び出すことができますが、実際にはこの特定のアプリケーションを使用する必要があります。