因为要做一个号码归属地查询小功能,因为要导入外部(文本文件)的电话归属地数据,使用的是SqlDataAdapter类,数据不多,只四万有多条,表也只有一个,phoneBook表,使用的是DataTable和SqlDataAdapter,测试了三次导入,平均18秒,但是我觉得太慢了,就百度了下[SQL Server批量导入数据],发现了SqlBulkCopy这个神器,一秒内导入.       SqlBulkCopy 这个类用于数据库大批量的数据传递,通常用于新旧数据库之间的更新.关键的一点是,即使…
 SqlBulkCopy 这个类用于数据库大批量的数据传递,通常用于新旧数据库之间的更新.关键的一点是,即使表结构不同,也可以通过表字段或者字段位置建立映射关系,将所需的数据导入到目标数据库. 下面代码测试了数据量为一百万条数据,几次测试耗时8秒左右. /// <summary> /// SqlBulkCopy类的使用,批量更新数据 /// </summary> public static void SqlBulkCopyDemo() { String connStr = Conf…
SQLBulkCopy是继承SQLClient空间下的一个特殊类,它可以帮助我们以映射的方式把DataTable和DataReader数据大批量导入到数据库对应表中 public void Inert2DBBySqlBulkCopy(DataTable data, string tableName) { BaseDao basdd = new BaseDao(); using (SqlConnection conn = new SqlConnection(basdd.SqlNormMap.Dat…
MySQL使用load data local infile 从文件中导入数据比insert语句要快,MySQL文档上说要快20倍左右.但是这个方法有个缺点,就是导入数据之前,必须要有文件,也就是说从文件中导入.这样就需要去写文件,以及文件删除等维护.某些情况下,比如数据源并发的话,还会出现写文件并发问题,很难处理.那么有没有什么办法,可以达到同样的效率,直接从内存(IO流中)中导入数据,而不需要写文件呢?前段时间,去MySQL社区的时候发现了这样一个方法:setLocalInfileInputS…
private string ExcelToStudent() { /*---*/ var preStr = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "_";//文件前缀 var httpFile = Request.Files["fileUpload"]; bool flag = !(httpFile.ContentType != "application/vnd.ms-excel&q…
首先是C#处理xml文档 string urlStr = string.Format("http://……?timeBeg={0}&timeEnd={1}", timeBeg, timeEnd); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(urlStr);//加载xml 工作中遇到的xml文档在根元素的第一个节点(state)都会返回此次接口是否返回正常,所以首先要获取xml根元素 XmlElement root =…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Med…
本文原创,转载请标明出处 BCP 工具的使用 The bulk copy program utility (bcp) bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format. The bcp utility can be used to import large numbers of new rows into SQL Server tables…
mysql与sql server都有整表导入的类库,但是查遍了资料发现sqlLite没有,除非自己去写个,发现用SQLiteTransaction导入数据也很快,附上代码 /// <summary> /// 导入major表数据 /// </summary> /// <param name="con"></param> /// <param name="dt"></param> public s…
特别注意  sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); 插入的时候列的顺序可以不一致,但名称和数据类型最好要保存一致.不一致时候,也能进行正确的转换,除了比如DataTime数据类型,不能插入一个无效的string时间字符串. 本文转载:http://zhoufoxcn.blog.51cto.com/792419/166052 参考http://www.cnblogs.co…