<!--本地数据库-->
<add key="connectionString1" value="data source=.;Initial Catalog=dz;persist security info=True;MultipleActiveResultSets=True;User ID=sa;Password=123456;" />
public static string conStr = ConfigurationManager.AppSettings["connectionString1"].ToString();//数据库连接字符串
static void Main(string[] args)
{
for (int i = 0; i < 4; i++)
{
string filePath = @"C:\Users\wchi\Desktop\岳阳对账\2021-05-19\2021-05-19\";
if (i == 0)
{
filePath += "file.txt";
}
else
{
filePath += "file" + i + ".txt";
}
DataTable dt = fileToString(filePath);
SqlBulkCopyInsert(conStr, "access_timeinfo", dt);
}
}
/// <summary>
/// 读取txt文件到DataTable
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static DataTable fileToString(String filePath)
{
DataTable dt = new DataTable();
try
{
dt.Columns.Add("access_time");
dt.Columns.Add("access_timehourse");
string line;
// 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader
using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath, Encoding.GetEncoding("GB2312")))
{
// 从文件读取并显示行,直到文件的末尾
while ((line = sr.ReadLine()) != null)
{
//Console.WriteLine(line);
if (line.IndexOf("8.11入参") > -1)
{
DataRow dr = dt.NewRow();
dr["access_time"] = line.Substring(0, 24).ToString();
dr["access_timehourse"] = line.Substring(0, 13).ToString();
dt.Rows.Add(dr);
}
}
}
}
catch (Exception e)
{
// 向用户显示出错消息
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
return dt;
}
/// <summary>
/// 注意:DataTable中的列需要与数据库表中的列完全一致。
/// 已自测可用。
/// </summary>
/// <param name="conStr">数据库连接串</param>
/// <param name="strTableName">数据库中对应的表名</param>
/// <param name="dtData">数据集</param>
public static void SqlBulkCopyInsert(string conStr, string strTableName, DataTable dtData)
{
try
{
using (SqlBulkCopy sqlRevdBulkCopy = new SqlBulkCopy(conStr))//引用SqlBulkCopy
{
sqlRevdBulkCopy.DestinationTableName = strTableName;//数据库中对应的表名
sqlRevdBulkCopy.NotifyAfter = dtData.Rows.Count;//有几行数据
sqlRevdBulkCopy.WriteToServer(dtData);//数据导入数据库
sqlRevdBulkCopy.Close();//关闭连接
}
}
catch (Exception ex)
{
throw (ex);
}
}