原创,转载请注明出处。//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