ms sql server 大批量导入

BULK INSERT

文章:BULK INSERT如何将大量数据高效地导入SQL Server

可以首先在数据库建一个表Temp_tb,这个表作为导入数据的表,然后使用bulk insert导入,导入完毕后,再在数据库中通过自己的控制将Temp_tb数据导入到目标表中。

这种方法可以解决只导入部分字段的问题。

示例:

Bulk insert 数据库名.用户名.表名  
from '数据文件路径'  
with  
(  
formatfile = '格式文件路径',  
FirstRow = 2    --指定数据文件中开始的行数,默认是1  
)  

示例2

BULK INSERT db_mgr.dbo.T_Student  
FROM 'C:/student.data'  
WITH  
(  
    FORMATFILE = 'C:/student_fmt.xml'  
)  

 

SqlBulkCopy 块copy

using (System.Data.SqlClient.SqlBulkCopy sqlBC = new System.Data.SqlClient.SqlBulkCopy(conn))   
{ sqlBC.BatchSize = 100000;   
sqlBC.BulkCopyTimeout = 60;   
sqlBC.DestinationTableName = "dbo.TableB";   
sqlBC.ColumnMappings.Add("valueA", "Value1");   
sqlBC.WriteToServer(dt);   
} 

例子2

复制代码
        public void SqlBulkCopyForDataTable(string tableName, DataTable dt, out string msg)
        {
            msg = "";
            try
            {
                using (SqlConnection conn = (SqlConnection)idataHelper.CreateConnection)
                {
                    conn.Open();
                    using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(conn))
                    {
                        try
                        {
                            sqlbulkcopy.DestinationTableName = tableName;
                            sqlbulkcopy.ColumnMappings.Add("Id", "Id列");
                            sqlbulkcopy.ColumnMappings.Add("Name", "名字");
                            sqlbulkcopy.WriteToServer(dt);
                        }
                        catch (System.Exception ex)
                        {
                            msg = ex.ToString();
                            throw ex;
                        }
                        finally
                        {
                            conn.Close();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {  
            }
        }
复制代码

 

posted on   荆棘人  阅读(195)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2015-11-23 软件图书,偏.net方向

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示