在 SSIS 中使用异步转换时遇到问题。为了简化问题,假设我只有两个输出,“Name”和“Id”。
我的 C# 代码是:
string name = "";
string Id = "";
if(...) // read the first line to get Name and partial value of "Id"
{
Output0Buffer.AddRow();
Output0Buffer.Name = Row.Name.Trim();
Id = Row.Id.Trim();
}
else if(...) //read the 2nd line to get the rest part of "Id"
{
Output0Buffer.Id = Id + Row.Id.Trim();
}
所以理想情况下,当两个输出填满 Output0Buffer 时,会输出“Name”和“Id”,但问题是,当第二行被读入缓冲区时,它会String Id
再次初始化,所以串联Output0Buffer.Id = Id + Row.Id.Trim();
不起作用。(它的工作原理就像"" + rest part of the Id
因为第一部分被初始化而第二部分是当前值)
我现在想坚持使用脚本组件转换,有什么办法可以解决这个问题吗?