in

TimberLandChapel.com
Community Stage

Untiring efforts and inspiration of the moment...
TimberLandChapel.com supports the engineers who study every day.

SSISにてマッピングを動的に行う方法について

Last post 土, 8 21 2010 20:25 by timberlandchapel. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 水, 8 11 2010 9:33

    • horiken
    • Top 25 Contributor
    • Joined on 水, 8 11 2010
    • Posts 2

    SSISにてマッピングを動的に行う方法について

    初めて投稿させていただきます。

    物理的に異なるSQL SERVER間でマスタのインターフェース処理を構築しています。

     夜間処理でマスタを100テーブル truncate した後に、全件更新の処理を行います。

     SSISのパッケージを100個作ればよいのですが、

    今、一つのパッケージで実現を考えています。

    それぞれのSQL SERVERの接続情報、更新元のテーブル名、更新先のテーブル名を外部から引数として渡して

    パッケージの変数を使って接続情報、データフロータスクのOLE DBのソース、OLE DB変換先へセットしています。

    問題となるのが、デザイン時と異なるテーブルを実行した場合に、マッピングのメタデータはデザイン時のままですので

    データ ソースの列と同期が取れていません。とエラーが発生してしまいます。

    検証状態 "VS_NEEDSNEWMETADATA" が返されました。とメッセージがありましたのググッテ見ましたが

     書いている内容が私には理解できませんでした。ReinitializeMetaDataメソッドを使えばよさそうなのですが

    実際どうすればよいか、わかりません。

    すいませんがどなたかご教授ください、よろしくおねがいします。

     

     

  • 水, 8 11 2010 23:59 In reply to

    Re: SSISにてマッピングを動的に行う方法について

    お疲れ様です。 TimberLandChapel です。

    さて,

    ReinitializeMetaDataメソッドが候補に挙がっているということは,スクリプトコンポーネントを用いて強制的なプロパティ書き換えを行っているということでしょうか?

    ちょっとその接続情報の切り替えの実装方法の詳細がわかりませんが,

    お試しになった方法では,ValidateExtarnalMetadataプロパティをいじってもうまくいかなかったということでしょうかね。

    実行時検証のタイミングに合わせて関連パイプが正しく動作する条件を整えてあげればよいのですが。

    しかし,

    今回の要件であげられている100テーブルというのは100種類のスキーマなのでしょうか?

    アクロバットなことをやろうと思えば,スクリプトコンポーネントの変換先,変換元,変換を使ってフレキシブルに開発することもできますが,そうなってくると単なる.NETアプリになってしまいます。

    なにか別のアプローチをしたほうがよい気がします。

     

    <-------------------------
     TimberLandChapel
     TimberLandChapel.com Community Stage Administrator
    --------------------------->
  • 金, 8 20 2010 14:47 In reply to

    • horiken
    • Top 25 Contributor
    • Joined on 水, 8 11 2010
    • Posts 2

    Re: SSISにてマッピングを動的に行う方法について

    御回答ありがとうございました。

    今回は別のアプローチを考えて見ますが、技術的に

    デザイン時に変換元、変換先を変数で設定して、実行時に、

     異なるスキーマのテーブルに変数の内容を変えた場合、

     簡単には実行できないということでしょうか?

     

     

     

  • 土, 8 21 2010 20:25 In reply to

    Re: SSISにてマッピングを動的に行う方法について

    TimberLandChapel です。

    かつてDTSで,動的プロパティタスクで変換元・先を強制上書きしてできたように,

    ValidateExtarnalMetadataを使えば理論上ご要望の機能は実装できると思います。

    ですが,私の観点では,

    SSISの強固な検証機能をすべて犠牲にして,動的なテーブルの強制転送をしてしまうと,

    「A地点とB地点にパイプラインが引かれているから,それを使って『原油も水もポ@ジュースも』同じパイプで流し込んでしまえ」

    ということをやってしまうことになってしまいます。

    つまり,SSISである利点がまったくなくなってしまいます。これが本来はスキーマ定義を事前評価してパッケージをつくるSSISの本来の実装方法でないという考え方です。

    一方で,SSISのほかの利点(タスクスケジュールできるとか,パイプラインのエラー処理を定義できるとか)を使うアドバンテージがあるのであれば,

    通常のパイプを使用しないで,スクリプトタスク内でマルチスキーマのバルク挿入処理をコーディングすることも悪くはないかもしれませんね。

     

    <-------------------------
     TimberLandChapel
     TimberLandChapel.com Community Stage Administrator
    --------------------------->
Page 1 of 1 (4 items)
©TimberLandChapel.com all right reserved 2005-2011.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems