「今更こんなこと書いても見る人なんていないんだろうなぁ。。」
と思いつつ書きます。
——————————
やりたいことは、SQL Server 2000のDTSでOracleに対してクエリを発行し、
データ変換タスクで取り込むという非常に単純なこと(;´Д`)
そして、クエリには動的にパラメータを設定する必要がある。
まずOracleと接続するためのドライバ。SQL Server 2000に入っているOracle用のドライバは今となっては使えません。
詳しくは、BOLの「データ変換に関する注意」で確認してください。今回対象となるOracleは9iなので、この時点で使えない。
また、UNICODEの送信に対応してないので、問題なく使えない。
上記の内容は確かではないので、現在調査中
なので、Oracle Clientをインストールし、「Oracle Provider for OLE DB」を使ってやることに。そして、ここで更に問題が発生。。
OracleとSQL Server用の接続を作成し、その二つをデータ変換タスクで接続。
つまりは、データポンプタスクにて実装します。
しかし、「クエリのパラメータに値を渡せない」のです。
こうやったら出来ます!なんてことを知っていたら、教えてください。。
じゃぁ、どうやんのか?
答えはSQLDTS.comにありました。
読んでもらえればわかると思いますが、やり方としてはパラメータをセットしたクエリをActiveXスクリプトでデータポンプタスクの「SourceSQLStatement」プロパティにセットするということ。
なるほど!と同時に、何でこんなことも出来ないの?と思いましたね (´ヘ`;)
この辺のことってネット上で色々調べてみましたが、見かけませんでした。
もう既に常識なのか?普通はこんなことしないのか?よーわかりませんが、
SQL Server 2000のDTS、ちょっとした変換をかけようとするだけでも
基本的にスクリプトを書かないといけません。そして「型が違う」と怒られる。
まぁ、このへんは慣れなんでしょうが、普通に( ゚Д゚)マンドクセー
SQL Server 2005ではどれぐらい使い勝手がよくなっているのか、
まったく触ってないのでわかりませんし、興味も薄れてきましたが
まぁ、作りこめば何でもできる!という基本スタンスは変わらないんだろうなぁ・・・
こういったツールの使うことは、誰でもできる。
問題は、何をやりたいのか?を決めれるかどうか。
コメント