質問: 私はさまざまなDB間のテーブル転送にSSISを使用しています。 1つのソースとターゲットに固有のものではなく、SSISには動的な列マッピング自体がないため、OracleBulkCopyとSqlBulkCopyを使用して宛先に書き込むスクリプトをC#で実装しました。私が間違っていると私を修正しますが、これはOracleまたはMicrosoftが直接提供する特定のドライバを使用して、これが最高のパフォーマンスを発揮する解決策になると思いますか?とにかく問題があります。 !Oracleスクリプトエラー Oracleの両方のビューをテーブルにコピーしようとしています。私はこのエラーが私の考えであるかどうかはわかりませんが、私の推測では、列の型が正しく一致していないということです。すべての列名が一致するので、マッピングを行う必要はありませんが、タイプにはいくつかの違いがあります。たとえば、VARCHARをNUMBERにコピーするなどです。 OracleColumnMappingは、列名に対してのみ機能し、見つかったものではありません。 だから、型の不一致が問題であると仮定するのは当然ですが、もしそうならば、強制的に型キャストを目的テーブルに設定する方法はありますか?すべての列を自動的にキャストするオプションとして設定することができ、マッピングではなく、任意の解決策を教えてください。 PS:同じことがSqlBulkCopyでもうまくいくと思いますが、そうでなければ解決策が必要ですが、まだMSSQLで試したことはありません。 助けてくれる誰にも感謝します。
回答: 私の意見では、SSISパッケージ(.dtsx)を使用してOracle DBからSQLServer DBへの転送を簡単に行うことができます。そしてキャストはツールボックスを使って簡単に作ることができます。このような操作にはC#は必要ありません。