0

SQL2012 にソース スクリプト コンポーネントがあります。Scriptcomponent で読み取り/書き込み変数を設定する場合は、Postexecute メソッドで設定する必要があると思います。そして、私はこのようにしました。

    public override void PostExecute()
{
    base.PostExecute();
    Variables.value1 = "some value";
}

スクリプト コンポーネントの実行後に変数をテストしたところ、変数が設定されていないことがわかりました。PostExecute メソッドにブレークポイントを設定し、呼び出されないことを確認しました。

非常に単純な新しいパッケージを作成し、同じ結果で再度テストしました。PostExecute が起動しない理由を誰か教えてください。

ここで変数を設定する際の制限については知りません (処理するレコードがあるかどうかに関係なく)。

4

3 に答える 3

0

いくつかのテストの後、スクリプト コンポーネントを「ソース」として使用すると、PostExecture イベントが発生しないようです。「変身」でうまくいきます。「Destination」タイプはテストしていません。Microsoft のドキュメントにはこの事実について言及されていないため、誤解を招く可能性があります。

結局、rowcount コントロールを使用してレコードをカウントしました。PostExecture イベントをさらに処理する必要があった場合、どうすればよいかわかりません。

于 2015-11-17T05:12:20.287 に答える
0

変数はスクリプト コンポーネントで設定できますが、データ フロー タスクが終了した後 (次のタスク) にのみ使用できます。

于 2015-11-10T07:19:24.637 に答える