脚本任务中的对象变量

时间:2011-10-24 19:03:29

标签: sql-server ssis

在我的包中,我有一个Execute Sql Task,它将结果集设置为User变量。然后我有一个c#脚本任务,需要将此User变量作为结果集引用。我需要将整个结果集发送到我的脚本任务中,因为我调用的Web服务需要一次性完成整个结果集。

这是我正在测试的当前代码。它并不多,因为我仍在试图弄清楚它的去处。

非常感谢任何帮助

public void Main()
{
    Variable resultSet = Dts.Variables["User::ZBatch_Order_Export_ResultSet"];

    Dts.TaskResult = (int)ScriptResults.Success;
}

这是更新工作代码:

public void Main()
{
    DataTable dt = new DataTable();
    OleDbDataAdapter oleDa = new OleDbDataAdapter();

    oleDa.Fill(dt, Dts.Variables["User::ZBatch_Order_Export_ResultSet"].Value);

    foreach (DataRow row in dt.Rows)
    {
        Dts.Events
           .FireError(0, "ZBatch - Script Task", row["orderDate"]
           .ToString(), String.Empty, 0);
        // Do some Webservice magic
    }

    Dts.TaskResult = (int)ScriptResults.Success;
}

1 个答案:

答案 0 :(得分:2)

非常接近,要访问变量的Value,您需要点击该属性

public void Main()
{
    Variable resultSet = Dts.Variables["User::ZBatch_Order_Export_ResultSet"].Value;

    // do stuff here with resultSet and the webservice

    Dts.TaskResult = (int)ScriptResults.Success;


}