DBよりデータを取得し、取得したデータに対して文字置換を行って
CSVファイルに出力するパッケージを作りたいと考えています。
どうやったらいいかも良くわからないので、
レコードセット変換先というのに出力して、ActiveX スクリプト タスクで
編集しようとしています。
変数を作成して、レコードセット変換先の出力にセットしたのですが
どうやったらそのレコードセットが使えるのかわかりません。
よろしくお願いします。
お疲れ様です。TimberLandChapelです。
さて,ご質問の内容ですが,
もし,文字置換の処理が単純なリプレース程度の処理でしたら,
派生列の定義で,文字列関数の Replace を利用すれば文字変換後のデータを フラットファイル変換先にパイプすることができます。
もし,もっと複雑な用件で,スクリプトコンポーネントを利用しなければならないような例でしたら,
ちょっと直接の例ではないのですが,応用がきくと思う例を紹介しています。
http://blogs.timberlandchapel.com/blogs/timberlandchapel/articles/1068.aspx
また,参考にこちらもどうぞ。
http://blogs.timberlandchapel.com/blogs/timberlandchapel/archive/2006/05/21/771.aspx
お返事ありがとうございます。
DBからデータ抽出⇒CVSに出力⇒フラットファイル ソースで読み込み⇒置換⇒CSVに出力
でやってみようと思います。 置換は、特定の項目に対して文字コードのある範囲をすべてスペースに置き換えるというものなのでこのやり方でやろうと思います。正規表現が使えるとよいかなと思いました。しかし、レコードセットはどうやって使うのか謎のままです。SSISは本当に便利なのかな?
お疲れ様です。TimberLandChapel です。
誤解を与えてしまったようで,もうしわけないです。
今回の要件でも,基本的には,
[OLE DB ソース] → なにかしかの変換 → [フラットファイル変換先(CSV)]
という構成は変える必要がありません。
この変換の箇所に,
[派生列] を用いるか,[スクリプト変換] を用いるかというところで,複雑さを悩むわけです。
正規表現で処理をされるようなので,ここではスクリプト変換に軍配ですね。
というわけで,(正規表現はつかってませんが)簡単なサンプルを作成しました。
http://blogs.timberlandchapel.com/blogs/timberlandchapel/archive/2008/01/30/ssis_5F00_scriptflow.aspx
コードは,実際の文字列変換の処理だけを記述すればよいので,わたしは便利だと思います。
他にもいろいろと潜在力は高いですよ ^-^
無事にファイル文字変換とファイル出力ができました。
ただ、また新たな問題が・・・。よろしくお願いします。
ありがとうございました。