【发布时间】:2009-05-28 23:27:28
【问题描述】:
我正在开发一个 SSIS 包,该包将一些数据从数据库中提取到文件中,然后将其上传到 FTP 服务器。我需要执行几个 FTP 命令,但似乎 SSIS FTP 任务只允许我指定源和目标位置。
有谁知道如何让 SSIS 执行一个 FTP 脚本而无需创建脚本任务和编写 VB.NET 代码?
【问题讨论】:
标签: sql-server ssis
我正在开发一个 SSIS 包,该包将一些数据从数据库中提取到文件中,然后将其上传到 FTP 服务器。我需要执行几个 FTP 命令,但似乎 SSIS FTP 任务只允许我指定源和目标位置。
有谁知道如何让 SSIS 执行一个 FTP 脚本而无需创建脚本任务和编写 VB.NET 代码?
【问题讨论】:
标签: sql-server ssis
很遗憾,没有,我认为您可能需要使用脚本任务。您应该能够找到一个 .Net FTP 库以重复使用(将其添加为参考),并且您可以将用户/传递/连接信息存储在变量中并在脚本中访问它以获得最大的可移植性/可维护性。
【讨论】:
您可以选择几条路线...
假设您有一个可以从命令行运行的 FTP 客户端,您可以使用执行进程任务来运行 FTP 客户端。
或者,您可以创建一个 shell 脚本(如批处理脚本)来向 FTP 客户端发送命令,并使用执行进程任务来执行 shell 脚本。如果您需要向客户端发送一系列命令,并且无法通过一组输入参数完成所有操作:即接受命令脚本作为输入参数的命令行 FTP 客户端(可能有一些更强大的 FTP 客户端可以做到这一点)。
最后,正如 Dane 所说,您的替代方法是使用脚本任务。这允许您使用托管代码 (VB.NET) 来执行更复杂的操作。您可以“滚动自己的”程序集来创建 FTP 连接、运行命令等,或者使用第三方程序集来避免自己编写 FTP 客户端,而只需编写一些 VB.NET 来使用它。
如果您正在了解在 .NET 中创建 FTP 客户端的一些基础知识,这篇文章将帮助您入门:http://support.microsoft.com/kb/812404 虽然老实说,我还是会寻找可以满足您需求的第三方库。
【讨论】: