如何使SSIS FTP任务执行FTP脚本而不是仅上传文件?

时间:2009-05-28 23:27:28

标签: sql-server ssis

我正在开发一个SSIS包,它将一些数据从DB提取到一个文件,然后将其上传到FTP服务器。我需要执行几个FTP命令,但似乎SSIS FTP任务只允许我指定source&目的地。

有没有人知道如何让SSIS执行FTP脚本而无需创建脚本任务并编写VB.NET代码?

2 个答案:

答案 0 :(得分:3)

不幸的是,不,我认为您可能需要使用脚本任务。您应该能够找到重新使用的.Net FTP库(将其添加为参考),并且您可以在变量中存储用户/传递/连接信息,并在脚本中访问它以获得最大的可移植性/可维护性。

答案 1 :(得分:2)

你可以采取一些路线......

假设您有一个可以从命令行运行的FTP客户端,您可以使用执行进程任务来运行FTP客户端。

或者,您可以创建一个shell脚本(如批处理脚本)将命令发送到FTP客户端,并使用Execute Process任务执行shell脚本。如果您需要向客户端发送一系列命令,并且无法通过一组输入参数执行所有操作,则必须执行此操作:即接受命令脚本作为输入参数的命令行FTP客户端(可能有一些更强大的FTP客户端可以做到这一点。)

最后,正如Dane所说,你的另一种选择是使用脚本任务。这允许您使用托管代码(VB.NET)执行更复杂的操作。您可以“滚动自己的”程序集来创建FTP连接,运行命令等,或者使用第三方程序集来避免自己编写FTP客户端,并编写一些VB.NET来使用它。

如果您正在查看有关在.NET中创建FTP客户端的一些基础知识,本文将帮助您入门:http://support.microsoft.com/kb/812404虽然老实说,我会寻找第三方库来执行您的操作需要。