ほぼ 2 つの都市の物語...2 列の文字列のペアとして入ってくる 17,000 行のデータがあります。行ごとに常に 5 つのアイテム番号と 5 つのアイテム ユニット カウントがあります (ユニット カウントは常に 4 文字です)。ユニットとアイテムを一致させる必要があります。そうしないと、無効になります。私がやろうとしているのは、文字列を個々の行に「アンピボット」することです-アイテム番号とアイテムユニット
1 行のデータと 2 つの列の例を次に示します。
- レコード ID 列: 0
- 項目番号列: A001E10 A002E9 A003R20 A001B7 XA917D3
- 項目単位列: 001800110002000300293
データを個々の行にピボット解除するための C# Windows アプリ テスト ハーネスを作成しましたが、問題なく動作します。したがって、基本的にはデータを 85,000 行 (17,000 の 5 倍) にピボット解除し、期待どおりのグリッド (ID、アイテム番号、アイテム ユニット) に表示します。
- 0 | A001E10 | 0018
- 0 | A002E9 | 0011
- 等々...
私の SSIS アプリでは、この同じデータを処理するスクリプト タスクを追加し、基本的にテスト ハーネスが使用するのと同じコードを使用しました。タスクを実行すると、17,000 行がロードされていることがわかりますが、出力では 15,000 +/- しか生成されないため、明らかに何かが正しくありません。
私が考えているのは、何らかの理由でレコードをドロップしているという点でテスト ハーネスが使用するのと同じコードを使用しているにもかかわらず、スクリプト タスクが正しくセットアップされていないということです。
タスクに戻って、最初のパスで取得できなかった特定のレコード ID を指定すると、その ID が処理され、正しい出力が生成されます。したがって、これは、レコードは問題ないことを示していますが、何らかの理由でそれを見逃すか、最初のプロセスでドロップします。多分バッファと関係がありますか?