Microsoft OLE DB Provider を使用して SQL Server からテーブルを Oracle テーブルにロードしようとしています (Oracle Provider for OLE DB を使用)。このパッケージは、単純な OLE DB ソース (SQL Server) -> OLE DB 宛先 (Oracle) です。
SQL Server 2008 R2 と Oracle 11g を使用しています。
パッケージを実行するたびに、宛先テーブルに異なる数の行が表示され、BIDS はソース テーブルにあるよりも少ない行を読み取ったと報告します。返される行数は、実行するたびに異なります。エラーやキックアウトは発生しませんが、入札で「パッケージが正常に完了しました」と表示された後でも、送信元と送信先のボックスが黄色のままです。
Oracle デスティネーションの代わりにソース テーブルをフラット ファイルにダンプしても問題なく動作し、期待するすべての行を取得できます。このフラット ファイルを使用して、問題なく情報を Oracle 宛先テーブルに取り込むこともできます。
回避策はありますが、この問題が発生する理由と、フラット ファイルを使用せずにこの問題を解決するにはどうすればよいかを理解したいと考えています。
編集:フラット ファイルを Oracle に使用しても、すべての行が引き継がれないようです。1回目は運だけ?
編集/更新: Integration Services (BIDS ではない) からパッケージを実行すると、問題が解消されたようです (3 回テスト)。なぜこれが起こっているのか、まだ理解していません。