- - PR -
DTSでの取込データのスキップの方法について
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-09-05 18:26
いつもお世話になっております。
DTSについて初歩的な質問だと思うのですが、 現在業務でCSVファイルからDTSを使用してSQLServer2000のテーブルに取り込む処理を開発しております。 要件としては、あるコードの値によって「取り込む、取り込まない」を判定したいのですが、通常ですとDTSは存在するデータすべてテーブルに取込もうとしてしまいます。 どのように制御すれば不要データをスキップできるかご存知の方がおられましたら、ご教授下さい。 よろしくお願いいたします。 :追伸 SQLDTS.comを覗いていますが、いまいち合致するものが見当たりません。。。 | ||||||||||||
|
投稿日時: 2006-09-05 19:22
ActiveXスクリプトのとこで、
データドリブンクエリタスクでこんなかんじでスキップさせてます。 条件のとこで、DTSSourceの値とDTSLookupsでとってきた値を比較したりしてね。
MIさんがなんのタスクを使ってるのかわかりませんが、データドリブン以外でスクリプトを書けたかどうかは忘れた。。。 いちお、検索したんでよかったら http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dtsprog/dtspconst_3h6b.asp | ||||||||||||
|
投稿日時: 2006-09-05 20:13
かめたろさん返信ありがとうございます。
Main = DTSTransformStat_SkipRow という形で行ってみたのですが、 1件もINSERTされなくなってしまいました。 現象的には、全件スキップされているように見えます。 ちなみにタスクは、「データ変換タスク」を使っており、ActiveX Scriptで入力データチェックや値のセットをしています。 「通常すべてのデータを取り込んでしまう」と書いたのは、 とくに条件判断もなく、常に Main = DTSTransformStat_OK でやっていたからです。誤解でした。。。 (しかし、この場合はINSERTは出来ていたのですが。。。) 私の設定に誤りがあるせいなのかもしれませんが、 いまいち1件もINSERTされない原因が分かりません。 もし何か分かりましたら、またご教授いただけますと助かります。 よろしくお願いいたします。
| ||||||||||||
|
投稿日時: 2006-09-05 20:30
条件にて比較しているグローバル値に誤りがあったため、
全件スキップルートに入ってしまったようです。 まだ正しくINSERT出来ているかどうかは検証できてませんが、 先ほどの書き込みの質問が撤回させていただきます。 お騒がせしてすみません。 [quote] MIさんの書き込み (2006-09-05 20:13) より: かめたろさん返信ありがとうございます。 Main = DTSTransformStat_SkipRow という形で行ってみたのですが、 1件もINSERTされなくなってしまいました。 現象的には、全件スキップされているように見えます。 ちなみにタスクは、「データ変換タスク」を使っており、ActiveX Scriptで入力データチェックや値のセットをしています。 「通常すべてのデータを取り込んでしまう」と書いたのは、 とくに条件判断もなく、常に Main = DTSTransformStat_OK でやっていたからです。誤解でした。。。 (しかし、この場合はINSERTは出来ていたのですが。。。) 私の設定に誤りがあるせいなのかもしれませんが、 いまいち1件もINSERTされない原因が分かりません。 もし何か分かりましたら、またご教授いただけますと助かります。 よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-09-12 09:56
お陰さまで無事にスキップできるようになり、本件は解決しました。
ありがとうございました。 | ||||||||||||
1
