2009-09-01 3 views
0

SSISプロジェクトでは、手順の1つでは、Oracle表からSQL Server表を移入する必要があります。SSIS、テーブルのビュー、または条件付き分割の方が高速ですか?

Oracle表には、列ssis_control_flagがあります。このフィールドが 'T'に設定されているすべてのレコードを参照したいと思います。

今、私はこれを行うための最良の方法であると思っていました。私が質問で詳述した2つのオプションは、それ自体で提示されました。

本当に、私はより速く/より良いと思っています。 SSISパッケージに条件付き分割を作成して、必要なすべてのレコードをフィルタリングする必要がありますか?または、基準に基づいてレコードを選択し、そのビューをSSISのデータソースとして使用するビューをOracleで作成する必要がありますか?

これを行うにはさらに良い方法がありますか?あなたは大いに感謝するでしょう!

おかげであなたの代わりにビューを作成するのではなく、レコードをフィルタリングするWHERE句を使用していないのはなぜ

答えて

2

?私はあなたの質問を正しく得ていないかもしれません。

一般的に、すべてのデータをSSISにインポートしてから除外することはお勧めしません。特に、ソースDBの終わりでフィルタリングを行うことができます。ネットワーク帯域幅のコストも考慮してください。

ここで言及しているこの特定のフィルタは、DBで実行できるよりもSSISの方が効率的ではありません。それゆえ、Oracle DB自体でそれを行うほうがよい。

+0

Oracle Data sourceタスクのOLEDBソースエディタでは、テーブルまたはビューを選択できるため、ビューを使用することができます。私はどのように 'どこ'句を指定するか分からない。多分あなたは精巧にすることができますか?それにもかかわらず、私はあなたにOracle DBの答えに同意する傾向があります。あなたの助けを大変感謝します:-) –

+0

これをチェックするためにOracle Dbにアクセスする権限がありません。データソースタスクでSQLクエリを指定する際に問題はないと思います。また、パラメータを使用してクエリを解析する際に問題がある場合は、SSIS変数に格納されているクエリを使用することもできます。 – Faiz

1

Oracle表に直接アクセスするのではなく、データフローのソースとしてopenrowsetを使用して問合せを使用できます。

関連する問題