問題タブ [ssis-2016]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
46 参照

ssis - SSIS2014 同じ DataFlowTask で Destination コンポーネントのステータスを取得する方法

私はSSIS 2014を使用しています。Attunity Oracle ソース コンポーネントから数十万の行があり、そのソース クエリには 20 の列があり、時間がかかります。何らかの理由で、最初のテーブルを参照する別のテーブルに同じクエリの 2 つの列を挿入する必要があります。

別の DataFlowTask でクエリの 2 回目の呼び出しを避けたいので、 OleDB Destination が終了WAIT till x_01 finishesしたときに検証するスクリプト コンポーネント タスクを作成して、2 番目のテーブルに挿入することを考えていました。x_01

私がここで達成したいことを親切に理解してください:ここ

x_01_FinishedPackage Scope 変数を使用し、PostExecute イベントが から発生したときにその値を変更することを考えていましx_01たが、残念ながら PostExecute は OleDB x_01Destination レベルでは使用できません。

質問1:

スクリプト コンポーネント コード内で、他のコンポーネントのステータスを取得する方法はありますか?

次のようなもの:

質問2:

この手法を使用すると、パッケージのパフォーマンスが大きく影響を受けると思いますか?

更新 1

すでにNick.McDermaidの提案を非常に少量のデータで試しました。最初の列に PK を持つ 2 つの一時テーブルと、最初のテーブルのこの PK への FK を持つ 2 番目のテーブルを作成しました。この少量のデータでも、このエラーが発生The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tmp_1_tmp_2".しました。次のスクリーンショットで、挿入が実際に非常に高速であることがわかります。データの 2 番目のチャンクではx_02、最初のデータの前にオブジェクトを挿入することを意図していました (そして、それは不可能でした) 。この FK により) .

したがって、私の次のアイデアは、2 番目のテーブルに挿入する前に最初の行だけを読み込んでいる間、数ミリ秒スリープすることです。これが役立つかどうかを確認します。

スクリーンショット

0 投票する
2 に答える
3721 参照

sql-server - ssis パッケージ 2016 でタイムスタンプをミリ秒単位でキャプチャする方法

ssis パッケージ 2016 で現在のタイムスタンプをキャプチャする方法

変数を宣言して式を使用しましたが、ミリ秒がありません

ミリ秒も欲しい

ありがとう