オフィスでの要件の一部として、Oracle CRM ON Demand サーバーから大量のデータを取得し、それをローカルの Oracle DB にプッシュする C# コンソール アプリケーションを作成する必要があります。
さて、多くの調査の結果、ODP.NET の Array Binding 機能を使用することにしました。私の理解では、最高のパフォーマンスが得られます。
しかし、ここに問題があります。プルする必要があるデータには、レコード/行ごとに合計 50 を超えるフィールド/列があります。そんなに多くの文字列配列を作成する必要があるのですか?
文字列配列の代わりに、50 列以上のデータ テーブルを使用して同じ (配列バインディング) を実現できますか? もしそうなら、どのように?(私はこれについて十分な調査を行いましたが、解決策を見つけることができませんでした) OracleBulkCopy クラスを使用できることは知っていますが、ここで読んだことから、それほど効率的ではなく、配列バインディングと比較するとパフォーマンスが劣っています。
また、非常に多くの配列を使用しても、アプリケーションは効率的ですか? このオプションについて同僚と話し合ったところ、アプリケーションに非常に多くの配列を含めるのは適切な設計ではないと主張したためです。
上記の懸念により、過去数日間立ち往生していました。私の問題に対する最善の解決策を教えてください。これをできるだけ早く修正する必要があります。