按名称查找现有子文件夹的 SSIS 变量

SSIS variable lookup of existing subfolders by name

我已将文件系统任务添加到 SSIS 包,目的是根据采购订单号在 24 个现有目录子文件夹中创建 7 个新子文件夹。

标题为 MainFolderPath 的第一个变量指向现有子文件夹和新子文件夹所在的主系统。此外,我创建了一个名为 FolderName 的 var,它使用 PO # 创建了一个子文件夹,然后在 PO # 子文件夹中创建了 7 个新的子文件夹。

我正在努力的部分是创建一个 var,它将同时在 24 个现有子文件夹中的每一个中创建 PO 和 7 个新子文件夹。 下面是我的例子:

变量 1:var.MainFolderPath 类型 – 字符串

\10.xxx.xx.xxx\sales\subsystem

变量 3:var.FolderName 类型 – 字符串

+ [@User::var_PurchaseOrder] + "1. Estimates" + "2. Approval" + "3. Legal"  + "Processing" + "5. Fulfilment" + "6. Shipping" + "7. Billing"

子系统中有 24 个现有子文件夹,例如engines, tires, electrical, etc. 缺少的 var 按名称为 var.PurchaseOrder 找到那些现有的子文件夹,以创建新的 PO # 文件夹和 7 个新的子文件夹。

我希望这个结构有意义,如果能帮助我完成这项工作,我将不胜感激。

我会将文件夹的名称存储在 SQL 服务器 table 中,然后使用执行 SQL 任务将这些 select 放入对象变量(设置ResultSet 为 'Full result set' 然后将结果集映射到对象变量 [set the Result Name to "0"])。 (您实质上是将单列结果集放入对象变量中。)

然后您可以使用 Foreach 循环使用 Foreach ADO 枚举器迭代此集合,将每个结果映射到一个字符串变量,然后可以将其作为创建目录路径的一部分包含在内。

然后简单地将创建目录的文件系统任务添加到循环中。

我不确定这是否是您所需要的全部内容,因为您还提到了 24 个子目录,但是这种设计模式将能够处理这方面的任何级别的复杂性,例如,您可能会结束在另一个循环(对于 24 个子目录)中添加一个循环(对于 7 个文件夹)。