2

Excel から SQL データベースにデータをインポートする必要があります。Excel データには、P1、P1、P4、P5 などのさまざまなパラメーターが含まれています。if(P1 > 100 および P1 < 200) のようなビジネス ルールを適用し、レコードをデータベースに挿入する必要があります。同様に、場合によっては文字列値も検証されます。ルールを変更、追加、削除するための UI を含むオープン ソースのルール エンジンを使用できますか。C# を使用して Excel を読み取り、レコードを挿入しています

最良のアプローチであるもう1つのこと:

  1. 最初に Excel を読み取り、すべてのレコードをオブジェクトとしてコレクションに保存してから、コレクションを反復処理し、すべてのオブジェクトにビジネス ルールを適用してから、データベースにレコードを挿入する または
  2. ビジネス ルールを適用する Excel から 1 つのレコードを読み取り、データベースにレコードを挿入します。Excel全体に対してプロセスを繰り返します。
4

1 に答える 1

1

それはオープンソースのソリューションではありませんが、回答が提案されていないため、役立つと思われる場合に備えて公開します. 私の会社は、いくつかの同様のプロジェクトで使用した単純な決定論的ルール エンジンを作成しました。当社のEnigma RulesEngineは Windows ワークフローに基づいているため、.NET 環境に最適であり、新しいルールを作成するためのユーザー インターフェイスは、ドラッグ アンド ドロップ WF フレームワークに付属するすべてのシンプルさを備えています。

2 番目の質問への回答を試みるには、インポート データのサイズに依存すると思います。Excel ファイルが 100 メガバイト以下の場合は、最初に全体をオブジェクトのコレクションに変換します。シングルプロセスよりもバッチプロセスとして行うことで、速度が向上する可能性があると思います。

もちろん、ファイルが大きい場合やメモリ不足の問題がある場合は、作成した 2 つの提案を常に妥協することができます: 一度に 1000 レコードをコレクションに読み込み、インポートが完了するまで繰り返します。

于 2012-10-04T06:07:32.363 に答える