それらすべてを処理し、SQLクエリでクエリできるデータベースを作成するために必要なログファイルが多数あると考えてください。
どのテクノロジーを使用すればよいですか?適切ですか
?LINQ to SQL
2 に答える
SQL は構造化データで使用されます。ログ ファイルが単なる生のテキスト ファイルである場合は、うまくいきません。私が提案するのは、ログファイルを解析し、ファイルからの重要なデータをカプセル化するローカルデータ構造を作成する
ことです。次のようなものを持つことができます
class LogFileRow
{
DateTime timestamp{get; set;}
int ActivityId{get; set;}
string Message{get; set;}
....
}
次に、 のコレクションに対して LINQ クエリを実行しLogFileRow
ます。
私の提案は、Filehelpers ライブラリhttp://filehelpers.sourceforge.net/のようなものを使用して、データベース内のログファイルを取得することです。
ログファイルがある DirectoryInfo クラス (http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx) に基づく単純な foreach で十分です。
挿入に Linq-2-sql または別のテクノロジを使用するかどうかは、レコードの数によって異なります。Linq-2-sql は、レコードごとに 1 つの挿入ステートメントを生成するため、大規模なバッチ挿入にはあまり適していません。SqlBulkCopyとFileHelpersを組み合わせます。簡単で高性能になります。
その後、Linq-2-sql はデータベース内のテーブルに対してクエリを実行できます。