问题标签 [foreach-loop-container]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2312 浏览

ssis - 在 ForeachLoop 容器上处理平面文件源中不一致的分隔符

我正在尝试处理在 SSIS 的 Foreach 循环容器中运行的数据流任务中包含的 'n 平面文件源中不一致的分隔符。

我在一个文件夹中有几个文件,名称各不相同,但标识符一致,例如 File23998723.txt File39872397.txt File29387234.txt 等等等等。

这些文件,作为标准应该用制表符分隔,但用户经常错过清理文件,它会用 , 或 ; 分隔。等,导致包导入失败。

我是否有一种简单的方法可以动态更改分隔符或预先测试分隔符?

列分隔符

0 投票
2 回答
11117 浏览

sql-server - 如何在 SSIS 变量中存储“完全限定”和“仅名称”文件名

我有一个 SSIS 包,它有一个 Foreach 循环容器,将所有 .txt 文件加载到一个静态文件夹中。我将完全限定的文件名作为我在连接字符串中使用的变量传递。

我现在只需要将文件名传递给一个变量以用于执行存储过程,问题是如果我将 Foreach 循环集合更改为只检索文件名,它会阻止其余部分工作。

有没有办法将完全限定文件名和仅名称文件名传递给 ssis 中的变量?

0 投票
0 回答
1493 浏览

sql-server - 无法在 SSIS 的脚本任务中获取变量的值

我有一个 SSIS 包,它在脚本任务中创建字符串列表,然后在 Foreach 循环容器中使用另一个脚本任务来一次从列表中获取值并做一些工作。

问题是,正如您在最后一张图片中看到的那样,我无法在脚本任务中设置一个变量,该变量取决于另一个变量的值(参见第三张图片),因为包(?)分配了值“Microsoft. SqlServer.Dts.Runtime.Variable”,而不是我想要的 ConstantPart 变量的值。

这是第一个脚本任务的一些代码:

从第二个开始:

你可以在这里找到解决方案。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
173 浏览

sql - SSIS/DATA FLOW TASK for sql 命令的变量到 foreach 循环中的多个 excel 表

所以我有一个 foreach 循环容器,它循环遍历具有三列的表的行。在 oledb 源代码中,我有一个带有变量的 sql 命令,该变量是我使用表达式生成器构建的。这个是 sql 查询的变量调用 foreach 容器中的这 3 个变量。当我预览 sql 命令时出现错误,因为显然它调用的这 3 个变量直到运行时才知道。此外,这会导致 excel 目标出现问题,因为它说没有输入列。请帮忙。

0 投票
1 回答
115 浏览

sql - SQL SSIS 2012 循环计数器(按组)

嘿伙计们,我有一张靠近下面的桌子,我需要添加第 3 列;对于第一列具有相同值的每个附加行计数 +1。我需要一个 foreach 循环吗?实现这一目标的最简单方法是什么?感谢!

0 投票
1 回答
858 浏览

ssis - ForEach 循环中的 SSIS 2012 事务

我有一个迭代多次的包,每个类别一个。我在包中放置了一个事务,以便每个类别都完整完成或根本不完成。如果我有 3 个类别 AB 和 C,并且类别 B 失败,我想确保 A 和 C 能够成功运行。但是,目前,当 B 失败时,包执行会因错误而停止,而不是继续前进到下一个类别。

我有一个遍历类别的 ForEach 循环容器。在其中,我有一个序列容器,其中 Transaction 选项设置为Required。这应该使每次迭代都有自己的事务。

当另一个类别失败并回滚时,如何让该包移动到下一个类别?

提前感谢您的帮助。

0 投票
0 回答
33 浏览

ssis - SSIS 包从同一个 xsl 文件中导入数据 n 次

我创建了一个SSIS包,它应该从 n 个xls文件中导入数据。

xls在源文件夹中有 3 个文件。 SSIS包应该运行并只选择.xls文件并将数据导入数据库。

但是,在运行时,它会从同一个文件中导入 3 倍的数据。

看起来我的每个容器只运行了 3 次,并且只选择了 1 个文件进行导入。

以下是一些截图:

在此处输入图像描述

在此处输入图像描述

这是为什么?

0 投票
2 回答
355 浏览

foreach - SSIS ForEach 循环行为

这是典型的 ForEach 容器行为:

http://i.stack.imgur.com/ypx7H.png

但是,如果我执行下图所示的操作,则执行 SQL 任务永远不会执行,我该怎么做?如果其他类型的容器允许我这样做,我不必使用 ForEach 容器。

for each 循环本质上是遍历文件夹中多个子目录中的文件。根据循环所在的文件夹,它填充一个变量。此变量用于从“某些脚本”任务到“任务 a”和“任务 b”的连接器中,以决定将运行哪个任务。因此,如果在与任务关联的文件夹中检测到文件,这两个任务可能都会运行。

我真正需要的是任务 a 和 b 在完成后转到同一个数据库任务。

http://i.stack.imgur.com/GuPV3.png

0 投票
0 回答
895 浏览

sql-server - 带有数据流任务和脚本的 SSIS Foreach ADO 枚举器

整天都在做这件事,这让我发疯。我是 SSIS 的新手(通常是 C# 程序员),所以事情不像我期望的那样工作:)

(tl;博士 - 我如何使用 ADO ForEach 枚举器并将整行作为变量传递给内部的数据任务(其中包含一个脚本组件)?)

场景:我在数据任务中使用 CDC 拆分器组件从数据库中的 CDC 表中检索和拆分 INSERTS、UPDATES 和 DELETES。我将每个更改分配给作为记录集的包级别对象变量。

仅使用 INSERTS 对象变量,我想检查提供的字符串数据的条件,如果它是真的,我想通过电子邮件将更改发送给某人。

为了实现这一点,我在表面上放置了一个 ForEach 容器并将其连接到 INSERTS Object 变量。然后在该容器中我删除了一个数据流任务,然后在该数据流任务中我删除了一个脚本组件。

这个想法是,如果当前行满足某些条件,则该行将被添加到脚本组件的输出缓冲区。困扰我的是,似乎实现这一目标的唯一方法是将行中的每一列映射到 ForEach 循环变量集合。我看到的每个示例都显示了从索引 0 等开始映射的变量。但是我的行有很多列,我不想为每一列创建变量,这样做似乎是错误的。

所以问题是.. 在 ADO Enumerator ForEach 容器中,如何将当前行(所有列)传递给内部的数据任务(进而传递给数据任务中的脚本任务)?

感谢您的任何建议...

0 投票
2 回答
57341 浏览

powershell - 如果文件名存在,则重命名项目并覆盖

我正在尝试使用Rename-Itemcmdlet 执行以下操作:

我有包含“ *.txt ”文件的文件夹。假设 1.txt、2.txt 等...

我想复制具有某些前缀的文件,将它们重命名为 *.txt 并覆盖任何现有文件(如果有)。

例子:

文件夹:c:\TEST

文件:1.txt、2.txt、3.txt、4.txt、5.txt、index.1.txt、index.2.txt、index.3.txt、index.4.txt、index.5。文本文件

我想使用 rename-item 过滤任何index.*.txt并将它们重命名为*.txt,如果存在相同的文件,请替换它。

谢谢你们