【问题标题】:SSIS: How can I manipulate data from one table in a dataflow and then put it into another table?SSIS:如何操作数据流中一个表中的数据,然后将其放入另一个表中?
【发布时间】:2010-11-13 21:44:17
【问题描述】:
例如,我有 DB A 和 DB Bb,我想设置一个数据流任务,从表 A 中取出前十行,并以编程方式将它们以 XML 格式放入字符串生成器中。然后,一旦我在 stringbuilder 中拥有它,将整个字符串放入数据库 B 的表中的一行中。
我的问题很简单,我该如何开始?在 2000 年,我可以通过数据转换任务中的 ActiveX 脚本在 DTS 包中执行此操作。这周我必须解决这个问题,所以非常感谢任何帮助。
我在 SQL Server 2008 上使用 BIDS 2008。
【问题讨论】:
标签:
sql-server-2008
ssis
bids
【解决方案1】:
您将能够在 SSIS 数据流中执行此操作。在数据流中,您将添加一个 Source 并将其配置为从 DB A 中选择数据。添加一个脚本组件作为转换。编辑脚本组件并选择输入和输出选项卡。选择输出 0,然后将同步输入 ID 值更改为无。
默认情况下,脚本组件是同步的。对于进入组件的每一行,都会有一行退出组件。通过将 Synchronous Input ID 值设置为 None,您将组件设置为异步模式,这并不能确保对于每一行输入,都会有一行输出。
展开输出 0 分支并选择输出列项。从这里添加将从组件输出的列。
现在您可以将代码添加到脚本中。您可以查看 Row.NextRow() 以移动到下一个输入行,并查看 Output0Buffer.AddRow() 以添加输出行。