Excelシート(列は固定されていますが、シートは任意の数にすることができます)からOracle dbにデータをインポートできるユーティリティを構築したいと考えています。どのようにすべきか提案してもらえますか:
- Excelシートを読む(n個)?(最善の方法)
- データを検証しますか?
- DBに一括挿入?
私の懸念は、ここでのパフォーマンスです。各シートには 200,000 行以上を含めることができます。
PS-私はオラクルの完全な初心者であることを覚えておいてください。
Excelシート(列は固定されていますが、シートは任意の数にすることができます)からOracle dbにデータをインポートできるユーティリティを構築したいと考えています。どのようにすべきか提案してもらえますか:
私の懸念は、ここでのパフォーマンスです。各シートには 200,000 行以上を含めることができます。
PS-私はオラクルの完全な初心者であることを覚えておいてください。
Microsoft Integration Services を使用して、ファイルを一括読み込みできます
もう 1 つの方法は、Excel シートを cvs に変換し、Oracle Loader を介してロードすることです。
http://www.orafaq.com/wiki/SQL *Loader_FAQ
StackOverflow でこの質問を見てください。
C# から Excel (.XLS および .XLSX) ファイルを作成する
ワークブックを開いてそのデータを処理したり、検証を実行したりできると思います。その後、標準の SQL 挿入を使用して、Oracle データベースにデータを挿入できます。これは、NPOI を使用すると簡単になります。
高速なプロセッサと RAM が利用できる場合、パフォーマンスは問題にならないことがあります。
次の投稿では、ブックを開いて ASP.NET MVC アプリケーションを使用してデータを処理する方法を示します。
SpreadsheetGear for .NETは、C# から簡単に使用できる Excel 互換のスプレッドシート コンポーネントであり、セルからフォーマットされていない生のデータ、または各セルのフォーマットされたテキストを取得できます。
ライブ サンプルはこちらから、無料試用版はこちらからダウンロードできます。
免責事項: 私は SpreadsheetGear LLC を所有しています
非常に迅速にデータをロードしたいだけの場合。スプレッドシートを CSV にエクスポートすることを検討できます。次に、データベースに外部テーブルとしてマウントします。
次に、PL/SQL を使用して、メイン テーブルに挿入する前にデータのクエリと検証を行うことができます。
ODBC ドライバーを使用して、Excel 内から Oracle データベースに直接接続することができます。
データ操作の複雑さに応じて、VBA または .Net Office Interops を使用できます。