【问题标题】:How do I make SSIS FTP task execute a FTP script rather than just upload a file?如何让 SSIS FTP 任务执行 FTP 脚本而不仅仅是上传文件?
【发布时间】:2009-05-28 23:27:28
【问题描述】:

我正在开发一个 SSIS 包,该包将一些数据从数据库中提取到文件中,然后将其上传到 FTP 服务器。我需要执行几个 FTP 命令,但似乎 SSIS FTP 任务只允许我指定源和目标位置。

有谁知道如何让 SSIS 执行一个 FTP 脚本而无需创建脚本任务和编写 VB.NET 代码?

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以选择几条路线...

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

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

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

      如果您正在了解在 .NET 中创建 FTP 客户端的一些基础知识,这篇文章将帮助您入门:http://support.microsoft.com/kb/812404 虽然老实说,我还是会寻找可以满足您需求的第三方库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多