1

毎月、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を呼び出すことができますが、実際にはこの特定のアプリケーションを使用する必要があります。

4

3 に答える 3

2

コマンドラインバージョンのwinscp.comを持つWinSCPを使用しています。sftp をサポートし、フォルダーとファイルの同期、keepuptodate、get、put、および削除を許可します。警告の一言、keepuptodate は切断されていない接続に依存します。WinSCP は自動的に接続を再作成できますが、keepuptodate はできません。Microsoft の .NET SystemIO FileSystemWatcher に基づいていると思われます。したがって、定期的に同期を行って、ソース フォルダ ツリーのミラーをリモート ターゲットに保持します。

于 2010-10-26T09:25:35.207 に答える
1

copssh の sftp.exe がコマンド ライン ユーティリティであり、LabVIEW のバージョンの System Exec に「標準入力」端子がある場合 (少なくとも 8.5 以降)、sftp.exe に実行させたいコマンドを簡単に配線できるはずです。標準入力端子に。

何らかの理由でそれが機能しない場合は、copssh の代わりにPuTTYを使用できますか? PuTTY の PSFTP コンポーネントのドキュメントには 、-b コマンド ライン スイッチを使用して、スクリプト ファイル内の一連のコマンドを実行できると書かれています。

psftp user@hostname -b myscript.scr

そのため、LabVIEW プログラムでスクリプト ファイルを作成し、System Exec で実行することができます。

于 2010-09-09T14:42:48.743 に答える
1

SSH と SFTP を混在させています。SSH は安全な接続を開きますが、SFTP は SSH 接続を介して実行される別のプロトコルであり、別のトンネルが必要です。OpenSSH (および Windows ポート、copSSH) では、SFTP を実行するのは sftp.exe アプリケーションです。

次に、FTP と SFTP について説明します。SFTP と FTP(S) の違いを説明している記事を確認してください。LabView が FTP をサポートしている場合、SFTP 転送を実行する必要がある場合、これは役に立ちません。

LabView で外部 ActiveX コントロールを使用できるかどうかはわかりません。可能であれば、転送を実行できるSFTP ActiveX コントロールを確認してください。外部アプリケーションを呼び出すことしかできない場合は、copSSH の sftp.exe を使用する必要があります。

于 2010-09-09T11:55:15.153 に答える