C# 超大数据量导入 SqlBulkCopy

复制代码
 1         public static void ImportTempTableDataIndex(DataSet ds,string TempTableName,string strSqlConnection)
 2         {
 3 
 4             //dcrenl:获取写入连接
 5             string str = strSqlConnection;
 6             SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder(str);
 7             string DataSource = sb.DataSource;
 8             string PersistSecurityInfo = sb.PersistSecurityInfo.ToString();
 9             string Pwd = sb.Password;
10             string UserID = sb.UserID;
11             string basestr = sb.InitialCatalog;
12             string InitialCatalog = sb.InitialCatalog;
13 
14             //dcrenl:开始写入数据
15             str = $"Data Source={DataSource};database={basestr};user={UserID};password={Pwd}";
16             using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(str, SqlBulkCopyOptions.UseInternalTransaction))
17             {
18                 //DataSet与数据库表一一对应时不需要写对应关系
19                 //sqlBulkCopy.ColumnMappings.Add("ID", "ID");
20 
21 
22                 sqlBulkCopy.EnableStreaming = true;
23                 sqlBulkCopy.DestinationTableName = $"{TempTableName}";
24                 sqlBulkCopy.WriteToServer(ds.Tables[0]);
25 
26                 sqlBulkCopy.Close();
27             }
28             ds.Dispose();
29         }
复制代码

 

此方法测试30万记录,20个varchar(255)字段,导入6秒左右完成。

posted @   dcrenl  阅读(415)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示