【发布时间】:2010-09-09 10:32:31
【问题描述】:
我们每个月都会使用 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,但我们确实需要使用这个特定的应用程序。
【问题讨论】:
-
您实际上是指 SFTP,还是指基于 SSH 的 FTP?您链接到的 CopSSH 页面表明它们不是一回事。
-
我想我的意思是 SFTP。我们正在使用 CopSSH,其中包含一个 SFTP.exe 应用程序。 SFTP 不使用 SSH 提供安全连接吗?