利用Bulk Insert将Excel中的大批量数据入库

本文介绍了一种方法,通过自定义C#代码配合SqlBulkCopy和BCP工具,将Excel中的大量数据转换为XML格式,并批量插入到SQL数据库中,实现了高效的数据迁移。文章详细阐述了创建XML格式文件、读取Excel数据并写入文件以及执行Bulk Insert命令的步骤。
摘要由CSDN通过智能技术生成

原创,转载请注明出处。//author:MeBack_黯然消魂


小弟摸索了二天,终于搞定,不敢独享。

第一次使用微软的SqlBulkCopy,其实它也是调用Bulk insert的,只不过微软封装了它,不过它不能指定映射文件,常出错,会说类型不匹配。一咬牙决定自己动手做。以下是具体的操作:

第一步:使用Bcp工具先生成一个XML格式化文档,它能映射欲插入的数据与数据库的表的对应关系。有关Bcp工具的使用请在CMD中键入Bcp /?。

    在CMD中敲入命令:
bcp  数据库名.表名 format nul -c -x -f  生成文档的路径   -T 。 先存为:dataformat.xml。
 如果你不想自己敲,我已经写好C#代码:


 
 

/// <summary>
        /// 创建BulkInsert,XML格式化文件
        /// </summary>
        /// <param name="server">服务器名</param>
        /// <param name="user">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="dataBaseName">数据库名</param>
        /// <param name="tableName">表名</param>
        /// <param name="xmlFormatFilePath">输入文件的路径</param>
        /// <returns>Boolern</returns>
        public static bool BuildBulkInsertXMLFile(string server, str

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值