gpt4 book ai didi

ssis - 如何将数据集对象存储到数据类型对象的包变量中?

转载 作者:行者123 更新时间:2023-12-02 06:44:12 24 4
gpt4 key购买 nike

如何将数据集对象存储到数据类型为 Object 的包变量中,并从脚本任务中将其分配回另一个数据集对象?

最佳答案

这是我之前回答的代码示例。它显示了如何在脚本任务中从对象变量填充 OleDB 数据适配器。您可以使用数据流任务中的记录集目标将记录集存储到对象变量中。
How to access a Recordset Variable inside a Script Task

为了进一步扩展我在脚本中所做的其他回答,如果您已经操作了对象变量中的行并希望将新结果保存到对象变量中以供进一步处理,您可以在接近尾声时执行以下操作你的过程。 Dts.Variables("rsRecipients").Value = dt

这方面的一个例子位于:Update SSIS Object Variable Used In Foreach Conainer From Script Task
示例 #2 中的代码:

Public Sub Main()
Dim Header As String
Dim Body As String
Dim Footer As String
Header = "blah"

Footer = "blah"

Try
Dim olead As New Data.OleDb.OleDbDataAdapter
Dim dt As New Data.DataTable
olead.Fill(dt, Dts.Variables("rsRecipients").Value)

For Each row As Data.DataRow In dt.Rows
If UCase(Trim(row("EmployeeCode").ToString())) = UCase(Trim(Dts.Variables("colEmployeeCode").Value.ToString())) Then
Body = Body + "Label: " + Trim(row("colum").ToString()) + System.Environment.NewLine
row.Delete()
End If
Next
Dts.Variables("rsRecipients").Value = dt
Dts.Variables("EmailMessage").Value = Header + Body + Footer
Dts.TaskResult = Dts.Results.Success
Catch ex As Exception
Dts.TaskResult = Dts.Results.Failure
End Try

结束子

olead.Fill(dt, Dts.Variables("rsRecipients").Value) 行从记录集变量中读入。 Dts.Variables("rsRecipients").Value = dt 行将数据集写回到一个变量(在本例中是同一个变量,但是如果你想的话,你可以将它写到不同的变量).将数据集加载到对象变量的其他方法包括在数据流任务中使用记录集目标,或使用 sql 任务并将完整结果集设置为变量,方法是在对话框中的结果集字段上选择完整结果集,然后设置输出到对象类型的变量。

关于ssis - 如何将数据集对象存储到数据类型对象的包变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2881140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com