using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FileHelpers;
using FileHelpers.DataLink;
namespace ConsoleApplication
{
[DelimitedRecord("\t")]
public class LogInfo
{
[FieldConverter(ConverterKind.Date, "yyyy-MM-dd HH:mm:ss.FFF")]
public DateTime DateTime;
public string empty;
public string Method;
public string IsSuccess;
public string ElapsedMilliseconds;
public string TnsName;
public string CommandText;
}
class Program
{
protected static string GetInsertSqlCust(object record)
{
LogInfo obj = (LogInfo)record; return string.Format("INSERT INTO Info " + "([DateTime]" + ",[Methord]" + ",[IsSuccess]" + ",[ElapsedMilliseconds]" + ",[TnsName]" + ",[CommandText])" + " VALUES " + "('{0}'" + ",'{1}'" + ",{2}" + ",{3}" + ",'{4}'" + ",'{5}')",
obj.DateTime.ToString().Replace("'", "\""),
obj.Method.Replace("'", "\""),
obj.IsSuccess.Replace("'", "\""),
obj.ElapsedMilliseconds.Replace("'", "\""),
obj.TnsName.Replace("'", "\""),
obj.CommandText.Replace("'", "\""));
}
static void Main(string[] args)
{
FileHelperEngine engine = new FileHelperEngine(typeof(CustomersTabIgnored3));
CustomersTabIgnored3[] res = (CustomersTabIgnored3[])engine.ReadFile(@"E:\Server\DACServer\log\Info\2010-04-09 16.log");
foreach (CustomersTabIgnored3 record in res)
{
Console.WriteLine(record.DateTime.ToString());
Console.WriteLine(record.Method);
Console.WriteLine(record.IsSuccess);
Console.WriteLine(record.ElapsedMilliseconds);
Console.WriteLine(record.TnsName);
Console.WriteLine(record.CommandText);
}
Console.ReadLine();
SqlServerStorage storage = new SqlServerStorage(typeof(LogInfo));
storage.ServerName = "127.0.0.1"; storage.DatabaseName = "LogInfo";
storage.InsertSqlCallback = new InsertSqlHandler(GetInsertSqlCust);
try
{
FileDataLink link = new FileDataLink(storage);
link.InsertFromFile(@"E:\Server\DACServer\log\Info\2010-04-09 16.log");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}

文件读取方法(FileHelpers) z的更多相关文章

  1. 大文件读取方法(C#)

    之前都是用StreamReader.ReadLine方法逐行读取文件,自从.NET4有了File.ReadLines这一利器,就再也不用为大文件发愁了. File.ReadLines在整个文件读取到内 ...

  2. C# 文件读取方法,自己写的例子,保存一下,备用

    /// <summary> /// 将output.config内容传到app.config /// </summary> string ReadString; //两个地址 ...

  3. python 文件读取方法详解

    话不多说直接码 # 绝对路径 # f = open('/Users/fangxiang/Downloads/我的古诗.text', mode='r', encoding='utf-8') # cont ...

  4. golang 文件读取

    Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查. 一次性读取 小文件推荐一次性读取,这样程序更简单,而且速度最快. 复制代码 代码如下: func ReadAll(fi ...

  5. Javascript写入txt和读取txt文件的方法

    文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Va ...

  6. C#读取ini文件的方法

    最近项目用到ini文件,读取ini文件,方法如下: using System; using System.Collections.Generic; using System.Linq; using S ...

  7. C#中常用的几种读取XML文件的方法

    1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/

  8. Spark Scala 读取GBK文件的方法

    1. 在生产环境下,很多文件是GBK编码格式的,而SPARK 常用的textFile方法默认是写死了读UTF-8格式的文件,其他格式文件会显示乱码 用如下代码实现读取GBK文件的方法 import o ...

  9. asp.net读取excel文件多种方法

    asp.net读取excel文件的三种方法示例,包括采用OleDB读取Excel文件.引用的com组件读取Excel文件.用文件流读取.   方法一:采用OleDB读取Excel文件 把Excel文件 ...

随机推荐

  1. HDU6393(LCA + RMQ + 树状数组) n边图,两点最短距离 , 修改边权

    这道题的进阶版本 进阶版本 题意: 一个n个点,n条边的图,2中操作,1是将某条边的权值更改,2是询问两点的最短距离. 题解: 由于n个点,n条边,所以是树加一个环,将环上的边随意取出一条,就是1颗树 ...

  2. pymongodb的使用和一个腾讯招聘爬取的案例

    一.在python3中操作mongodb 1.连接条件 安装好pymongo库 启动mongodb的服务端(如果是前台启动后就不关闭窗口,窗口关闭后服务端也会跟着关闭) 3.使用 import pym ...

  3. Two Sum [easy] (Python)

    由于题目说了有且只有唯一解,可以考虑两遍扫描求解:第一遍扫描原数组,将所有的数重新存放到一个dict中,该dict以原数组中的值为键,原数组中的下标为值:第二遍扫描原数组,对于每个数nums[i]查看 ...

  4. 使用Verilog描述RTL图

    题目要求 分别用两种方式表达此电路: 1)在一个模块中用两个过程来表达: 2)用顶层文件和例化语句的形式来表达. 给出下面RTL图的verilog描述. 1)纯过程语句描述 2)纯连续赋值语句描述 参 ...

  5. oracle 备份恢复篇(四)---rman 单个数据文件

    一,环境背景

  6. pycharm Python解释器的配置--可以指定批处理文件为解释器

    这样就可以很方便的配置一些环境变量了,很方便很有创意的功能,再次Mark一下以防忘记

  7. QQ会员2018春节红包抵扣券项目背后的故事

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 1. 活动数据 截止3月1日手Q运动红包会员礼包发放核销数据 参与红包活动用户数:2亿+ 发券峰值:52w/min 2. 需求背景 2.1 ...

  8. 数据挖掘:提取百度知道QA中的影视信息

    1. 背景 网站上爬取了部分关于影视的百度知道QA,为了后续提高影视的搜索效果,需要基于百度知道QA的答案抽取相关的影视信息. 2. 流程 目前已有基础的媒资视频库信息,基于媒资视频库中的视频名称,构 ...

  9. [Verilog] parameter

    parameter和localparam的作用范围均为本模块,区别在于前者可用于在实例化模块的时候进行参数的传递. 用已定义的参数对变量赋值时,按照补码的方式处理,若出现溢出的情况,则截取低位.

  10. HDU 5289——Assignment——————【RMQ+优化求解】

    Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...