【问题标题】:Easy way to check ftp for files before running SSIS package在运行 SSIS 包之前检查 ftp 文件的简单方法
【发布时间】:2013-04-16 15:58:52
【问题描述】:

我有一个 SSIS 包,我计划每 15 分钟运行一次。这个包将从 ftp 服务器获取文件并将它们移动到服务器上的文件夹,然后处理文件。

我需要做的是在运行 SSIS 包之前检查文件是否存在。

我正在对服务器内文件夹中的文件做类似的事情,将它们移动到 ftp 服务器以返回客户端。

有人有这方面的经验吗?

【问题讨论】:

  • 您可以创建一个batch file 来检查文件是否存在于 ftp 中,否则在 SSIS 中使用script task 来检查文件。如果文件存在,则继续执行包,否则中止
  • 为什么要先检查文件是否存在?您可以只运行包,如果包中的 FTP 下载步骤未找到任何文件,则退出包。当然,这假设 FTP 下载是第一步,但无论如何这似乎是有道理的。

标签: file-io ssis


【解决方案1】:

如果您希望检查文件的是远程 FTP 服务器,并且您的 FTP 任务在 SSIS 包中……那么您将无法在不运行 SSIS 包的情况下检查文件。如果您在包中的初始 FTP 任务中检查文件,那么您每 15 分钟启动一个 SSIS 包,这可能不是一个好习惯。

接下来发生的事情是,企业问为什么不能每五分钟运行一次,然后他们又问为什么不能每两分钟运行一次。服务器开销很大。

有时我使用了两个 SSIS 包,一个执行 FTP 传输,另一个执行本地处理,并将它们设置为 SQL Server 代理作业的两个独立步骤。这样做的原因是为了区分错误行为。但这是针对夜间工作,而不是每 15 分钟运行一次。

如果您要检查本地网络上的文件,或者直接使用 FTP,那么您可以使用批处理文件或其他东西作为 SQL Server 代理作业的第一步(必要时中止)。这样可以降低开销。

【讨论】:

  • 我同意 - 我建议将文件从批处理文件复制到一个单独的进程/批处理中,然后使用单独的 SSIS 包进行处理。
猜你喜欢
  • 2023-03-17
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
相关资源
最近更新 更多