当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《如何将数据集对象存储到数据类型对象的包变量中?》经验,为你挑选了1个好方法。

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



1> William Salz..:

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

为了进一步扩展我在脚本中从我的其他答案中所做的操作,如果您操纵了对象变量中的行并希望将新结果保存到对象变量中以进行进一步处理,则可以在过程结束时执行以下操作. Dts.Variables("rsRecipients").Value = dt

这方面的一个示例位于:更新SSIS对象变量用于Foreach Conainer
来自示例#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任务并通过在对话框中的结果集字段上选择完整结果集将完整结果集设置为变量,然后设置输出转到object类型的变量.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有