0

DB1 からデータを読み取り、別の DB2 に書き込む必要があります。CTE と一時テーブルで複雑なクエリを使用していますが、いいえ、このクエリを SProc に入れることはできません。OLE DB ソースと OLE DB 宛先を使用しています。

クエリを OLEDBSource に SQL コマンドとして配置すると、CTE が一時テーブルを使用しているため、メタデータを特定できないという通常の苦情が寄せられます。

SProc ではないため、「結果セットを使用する」回避策を使用できません。だから私は他の回避策、「SET FMTONLY ON/OFF」を試してみます。

OLE DB ソースはクエリを受け入れますが、2 つのデータセットを出力します。最初は空で、2 番目は必要なデータです。OLE DB Destination は、最初の結果セット (空の結果セット) のみを読み取るため、単一の行を書き込みません。

どうすればこれを解決できますか?

一時テーブルを他のものに変更することはできず、基本的にクエリを変更することはできません。可能であれば、SQL ソリューションではなく、SSIS ソリューションを探しています。どうも。

4

1 に答える 1

0

SSIS ソリューションの場合、OLE DB ソースは使用できません。そのコンポーネントは、最初の結果セットにのみアクセスできます。

できることは、スクリプト変換をデータ ソースとして使用し、通常の方法で 2 番目の結果セットにアクセスし、その列をスクリプトの出力に送信することです。

于 2016-09-01T13:03:09.790 に答える