私は C# で winform アプリケーションに取り組んでおり、Oracle ビューから約 200,000 レコードをインポートし、SQL Server テーブルにダンプする必要があります。これらすべてのレコードを保持するためにデータテーブルを使用してからSQLサーバーに保存する必要があるかどうか、または慣れていないDBlinkを使用する必要があるかどうか、この問題にどのように取り組むべきかわかりません。提案/推奨事項は大歓迎です。ありがとう!
2 に答える
処理方法の多くは、データとその使用方法によって異なります。
頻繁に変化する動的データの場合は、速度の問題が残る可能性はありますが、ライブ リンクを使用する方がよい場合があります。または、頻繁ではないものの一部が変更される場合は、SSIS パッケージを使用して SQL Server に再読み込みすることをお勧めします。データのコピーを 2 つ持つ方が簡単な場合 (そしてデータが変更されない場合) は、1 回だけコピーを実行するだけでよい場合があります。
SSIS パッケージを作成する場合、または SQL Server を介してデータにアクセスするが Oracle に残す場合は、DB リンクの設定はそれほど難しくなく、推奨されます。
データを使用して毎月更新し、SQL で変更しない場合は、SSIS タスクと DB リンクを作成するのが妥当な解決策です。リンクを作成して接続を確認したら、SSIS を使用して SQL テーブルを切り捨て、Oracle からリロードします。アプリケーションがデータの SQL コピーを使用していないときにパッケージを実行します。パッケージを実行するジョブを作成します。切り捨てや一時的な場所へのコピー、またはデータのロードで問題が発生した場合に回復するための何らかのプロセスの前に、テーブルのバックアップを作成することは合理的かもしれません。次のようなもの:
Job
step 1 Backup table
step 2 (if step 1 successful) Run SSIS package
Truncate table
Reload table using DB Link
step 3 (if step 2 failure) restore from backup
2 つの接続を開きます。一方から読み取り、他方に書き込みます。Oracle .Net ドライバーがあります。これは ODP.NET と呼ばれます。