如何从许多日志文件中创建一个数据库,并执行一些类似SQL的查询

本文关键字:执行 数据库 查询 SQL 一个 日志 许多 文件 创建 | 更新日期: 2023-09-27 17:50:46

考虑您有许多日志文件,您需要处理所有这些日志文件并从中创建一个数据库,该数据库将能够通过SQL查询进行查询。
我应该使用什么技术?
LINQ to SQL合适吗?

如何从许多日志文件中创建一个数据库,并执行一些类似SQL的查询

SQL用于结构化数据,如果您的日志文件只是原始文本文件,那么您就不走运了。我的建议是解析日志文件,创建本地数据结构来封装文件中的重要数据
可以是

class LogFileRow
{
  DateTime timestamp{get; set;}
  int ActivityId{get; set;}
  string Message{get; set;}
....
}
然后对LogFileRow的集合执行LINQ查询。

我的建议是使用Filehelpers库http://filehelpers.sourceforge.net/之类的东西来获取数据库中的日志文件。

基于日志文件所在的DirectoryInfo类(http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx)的简单查询就可以了。

是否使用Linq-2-sql或其他技术进行插入取决于记录的数量。Linq-2-sql不太适合大规模的批量插入,因为它对每条记录只生成一条插入语句。我会结合SqlBulkCopyFileHelpers。这将是简单和高性能。

之后,Linq-2-sql可以很好地查询数据库中的表