SqlBulkCopy 快速插入数据库
2012-01-05 18:16
387 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using System.Data.SqlClient;
namespace sqlBulkCopy
{
class Program
{
static void Main(string[] args)
{
List<string> listFile = new List<string>();
StreamReader objReaderTemp = new StreamReader("c:\\766_happy.txt");
string fileLine = "";
while (fileLine != null)
{
fileLine = objReaderTemp.ReadLine();
if (fileLine != null)
{
listFile.Add(fileLine);
//Console.WriteLine(fileLine);
}
}
string constr = "Data Source=.;Initial Catalog=db_userpsw;Integrated Security=True";
SqlConnection conn = new SqlConnection(constr);
conn.Open();
DataTable dt = new DataTable();
dt.Columns.Add("info", typeof(string));
int count = 0;
int countfile = 0;
foreach (string strFileTemp in listFile)
{
countfile++;
StreamReader objReader = new StreamReader(strFileTemp, System.Text.Encoding.Default);
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null&&sLine.Length<150)
{
DataRow dr = dt.NewRow();
dr["info"] = sLine;
dt.Rows.Add(dr);
count++;
if (count % 10000 == 0)
{
Console.WriteLine(count);
using (SqlBulkCopy sqlBC = new SqlBulkCopy(conn))
{
sqlBC.BatchSize = 10000;
sqlBC.DestinationTableName = "dbo.t766_happy";
sqlBC.ColumnMappings.Add("info", "info");
sqlBC.WriteToServer(dt);
}
dt.Clear();
}
}//end if
}//end while
using (SqlBulkCopy sqlBC = new SqlBulkCopy(conn))
{
sqlBC.BatchSize = 1000;
sqlBC.DestinationTableName = "dbo.t766_happy";
sqlBC.ColumnMappings.Add("info", "info");
sqlBC.WriteToServer(dt);
Console.WriteLine("last data :"+countfile);
}
dt.Clear();
}
conn.Dispose();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using System.Data.SqlClient;
namespace sqlBulkCopy
{
class Program
{
static void Main(string[] args)
{
List<string> listFile = new List<string>();
StreamReader objReaderTemp = new StreamReader("c:\\766_happy.txt");
string fileLine = "";
while (fileLine != null)
{
fileLine = objReaderTemp.ReadLine();
if (fileLine != null)
{
listFile.Add(fileLine);
//Console.WriteLine(fileLine);
}
}
string constr = "Data Source=.;Initial Catalog=db_userpsw;Integrated Security=True";
SqlConnection conn = new SqlConnection(constr);
conn.Open();
DataTable dt = new DataTable();
dt.Columns.Add("info", typeof(string));
int count = 0;
int countfile = 0;
foreach (string strFileTemp in listFile)
{
countfile++;
StreamReader objReader = new StreamReader(strFileTemp, System.Text.Encoding.Default);
string sLine = "";
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null&&sLine.Length<150)
{
DataRow dr = dt.NewRow();
dr["info"] = sLine;
dt.Rows.Add(dr);
count++;
if (count % 10000 == 0)
{
Console.WriteLine(count);
using (SqlBulkCopy sqlBC = new SqlBulkCopy(conn))
{
sqlBC.BatchSize = 10000;
sqlBC.DestinationTableName = "dbo.t766_happy";
sqlBC.ColumnMappings.Add("info", "info");
sqlBC.WriteToServer(dt);
}
dt.Clear();
}
}//end if
}//end while
using (SqlBulkCopy sqlBC = new SqlBulkCopy(conn))
{
sqlBC.BatchSize = 1000;
sqlBC.DestinationTableName = "dbo.t766_happy";
sqlBC.ColumnMappings.Add("info", "info");
sqlBC.WriteToServer(dt);
Console.WriteLine("last data :"+countfile);
}
dt.Clear();
}
conn.Dispose();
}
}
}
相关文章推荐
- SqlBulkCopy 快速插入数据到SqlServer 数据库
- SqlBulkCopy实现大容量数据快速插入数据库中
- c#向数据库插入较大数据(SqlBulkCopy)
- C# 数据批量插入到数据库SqlBulkCopy(源数据类型:List<T> Or DataTable)
- 将dataTable一次性插入数据库的几种方法(SqlBulkCopy或存储过程)
- 海量数据插入数据库效率对比测试 ---ADO.NET下SqlBulkCopy()对比LINQ 下InsertAllOnSubmit()
- SqlBulkCopy 数据库批量插入数据
- C# SqlBulkCopy实现大数据插入数据库
- 使用SqlBulkCopy, 插入整个DataTable中的所有数据到指定数据库中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 大数据批量插入数据库使用(SqlBulkCopy )效率更高
- C#:30行数据插入到数据库中的效率测试-一行行执行、构造SQL一次执行、SqlBulkCopy
- 使用SqlBulkCopy插入DataTable到数据库
- 海量数据插入数据库效率对照測试 ---ADO.NET下SqlBulkCopy()对照LINQ 下InsertAllOnSubmit()
- c# 数据库批量插入数据SqlBulkCopy 示例
- C#:30行数据插入到数据库中的效率测试-一行行执行、构造SQL一次执行、SqlBulkCopy
- c# 使用SqlBulkCopy 提高大数据插入数据库速度
- 采用SqlBulkCopy向数据库批量插入数据(大数据效果显著)
- SqlBulkCopy 批量插入数据库
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中