我正在尝试处理我从供应商那里获得的xml文件。我设法得到一些c#代码来读取xml中的所有26个项目。我将此代码放入SSIS中的脚本组件中,并将其提供给Union All任务。然后我放置了一个数据查看器,以便我可以验证收到的内容。我使用此代码将行添加到输出缓冲区:
Roles roles = GetWebServiceResult(wUrl);
MessageBox.Show("We have read in " + roles.Items.Length + " items");
//Add each role entry to the output buffer.
for (int i = 0; i < roles.Items.Length; i++)
{
MessageBox.Show("Adding item " + (i + 1) + " to the output");
Transfer role = getRole(roles.Items[i]);
Output0Buffer.AddRow();
Output0Buffer.roleKey = role.roleKey;
Output0Buffer.text = role.text;
Output0Buffer.Item = role.Item;
Output0Buffer.Users = role.Users;
}
当我运行这个时,我得到一个弹出窗口,说有26个要处理的项目,但之后我只再获得一个弹出窗口,告诉我项目#1已被添加。然后作业停止而没有错误,但我在dataviewer中只有一行输出。当我知道还有25个要添加的项目时,我不明白为什么会发生这种情况。
附加:一时兴起,我拿出了Output0Buffer代码,它完成了所有26项。
答案 0 :(得分:1)
我明白了。我使用Ctrl-F5运行它并在控制台中研究输出。原来一列不够大。我把那个专栏做得更大,一切正常。我本以为错误就会停止处理。