2009-08-13 13 views
0

私のデータベースのコンバータはMSSQL Express EditionからOracleに書きます。 テーブルの行数は約5百万です。 MSSQL側では、LINQ to SQLを使用してデータを選択します。 私はOracleに同じアプローチを使用したいと思いますが、残念ながら.NETにはLINQはありません。 私はオープンソースLINQ to Oracle実装があることを知っていますが、私は単純なSystem.Data.OracleClient名前空間を使用すると思います。 私の質問は、一度に行をOracleデータベースに挿入する方法です。私は行ごとにExecuteQuery()を呼び出すと、膨大な時間がかかることになるのではないかと心配しています。 私の問題のために優雅な解決策はありますか?おかげさまで C#、一度に複数のレコードをデータベースに挿入

答えて

3

最も簡単な方法は、プログラムを忘れてSQL Server Integration Servicesを使用することです。 MSSqlサーバーからOracleデータベースに直接リンクし、データをプッシュすることができます。

+0

2番目に、実行するためにパッケージを保存することもできますもう一度複数のデータベースで実行する必要がある場合 –

+0

良いアプローチですが、残念ながら私はSQL Server Expressエディション – Sorantis

+0

を持っています。このデータ転送の目的では、完全SQL Serverの評価版または$ 50の開発バージョンを使用できます。ライセンスの問題は、物事をスケッチにするかもしれませんが、それは何かを考慮する必要があります。 また、レッドゲートツールなどの挿入スクリプトを生成する可能性のある他のサードパーティのアプリケーションを見てみることもできます。あなたのターゲットはOracle(Red Gateはサポートしていません)ですが、oracle dbでバニラ実行用の簡単に変更可能な挿入スクリプトを作成する必要があります。 –

0

Oracle SPを作成し、アプリケーションから呼び出すことができます。別のコンバータアプリケーションが必要な特定の理由/目的はありますか? OracleからSQL Serverへのdblinkを作成し、ODBCを使用して接続してデータを入力すると、時刻/日付の形式の不一致はいつでもto_char()関数

関連する問題