SSIS で非同期変換を使用しているときに問題が発生するだけです。質問を単純化するために、「Name」と「Id」の 2 つの出力があるとします。
私の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();
}
したがって、理想的には、2 つの出力が Output0Buffer を満たすと、"Name" と "Id" が出力されますが、問題は、2 行目がバッファーに読み込まれたときにString Id
再度初期化されるため、連結Output0Buffer.Id = Id + Row.Id.Trim();
が機能しないことです。"" + rest part of the Id
(最初の部分が初期化され、2 番目の部分が現在の値であるため、同じように機能します)
現時点ではスクリプト コンポーネント変換を使用したいと考えています。これを解決する方法はありますか?