用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int…

用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int…dr[“description”]=ds.Tables[0].Rows[i][“组织描述”].ToString();dr[“groupuser”]=ds.Tables[0].Rows[i][“组织成员”].ToString();dr[“userid”]=AMSession.LoginUser…

大家好,又见面了,我是你们的朋友全栈君。

                dr[“description”] = ds.Tables[0].Rows[i][“组织描述”].ToString();
                dr[“groupuser”] = ds.Tables[0].Rows[i][“组织成员”].ToString();
                dr[“userid”] = AMSession.LoginUser.id;
                dr[“remark”] = ds.Tables[0].Rows[i][“备注信息”].ToString();
                dt.Rows.Add(dr);
            }

            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(AMCommon.DBUtility.DbHelperSQL.connectionString);
            sqlBulkCopy.DestinationTableName = “groupinfo”;
            sqlBulkCopy.BatchSize = dt.Rows.Count;

            SqlConnection sqlConnection = new SqlConnection(AMCommon.DBUtility.DbHelperSQL.connectionString);
            sqlConnection.Open();
            if (dt != null && dt.Rows.Count != 0)
            {

                sqlBulkCopy.WriteToServer(dt);
            }
            sqlBulkCopy.Close();
            sqlConnection.Close();
            stopwatch.Stop();

 

——解决方案——————–
SqlBulkCopy不是根据表的ColumnName来匹配的,而是根据ColumnIndex匹配,
也就是说你的表 字段必须跟数据库的表字段完全一致(Index的排序要跟数据表的一样)。
就算你该字段不打算给他插入值,也要建个DataColumn。包括自增ID.不需要给他值就好了

转载于:https://www.cnblogs.com/youngmin/p/6256419.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162220.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 史上最全量化交易资源整理

    史上最全量化交易资源整理有些国外的平台、社区、博客如果连接无法打开,那说明可能需要“科学”上网国内在线量化平台:BigQuant-你的人工智能量化平台-可以无门槛地使用机器学习、人工智能开发量化策略,基于python,提供策略自动生成器镭矿-基于量化回测平台果仁网-回测量化平台京东量化-算法交易和量化回测平台聚宽-量化回测平台

    2022年7月21日
    38
  • springboot 学习笔记(四) 初识actuator

    springboot 学习笔记(四) 初识actuator

    2021年5月28日
    129
  • pycharm配置python解释器的问题_python解释器的提示符

    pycharm配置python解释器的问题_python解释器的提示符转载自:https://blog.csdn.net/weixin_37861326/article/details/80327503在安装python环境后,通常可以利用IDEpyCharm来编译我们的python文件。创建一个python文件夹,用pyCharm打开文件夹,在文件夹中新建一个python文件demo.py也许你知道用cmd中的python指令pythondemo.py去运行这个文件,但是如何在pyCharm中运行python文件?pyCharm是一个功能非常强大的工具..

    2022年8月25日
    12
  • java观看视频次数_java数字转换视频播放次数等

    java观看视频次数_java数字转换视频播放次数等1.1万、9999.9万、1.1亿、999亿+*播放量的数字显示规则1-9999,按照实际数字显示10000-9999999,按照1万、1.1万、9999.9万100000000-99900000000,按照1亿、1.1亿、999亿>99900000000,统一显示为999亿+所有数字显示均保留到小数点后一位即可“`java/***视频观看次数、评论数**@paramtimes*@…

    2022年7月8日
    28
  • vuecli安装成功但无法运行_vue cli service

    vuecli安装成功但无法运行_vue cli service1.依赖node所以先安装node,可从官网下载安装,安装一直下一步最后选安装目录2.win+r输入cmd运行,先输入node-v和npm-v查看node安装是否正常(我这里node是10.5.0npm是6.1.0)3.安装vue,npm安装过慢且成功率较低,建议使用cnpm安装3.1npm安装方法,npminstallvue(安装成功请到第4步)…

    2022年10月9日
    5
  • Unity DrawCall优化「建议收藏」

    Unity DrawCall优化「建议收藏」UnityDrawCall优化一MeshRenderer二SkinnedMeshRenderer三合并要求对比四总结五场景制作建议DrawCall优化合并,也叫批处理,即DrawCallBatching.通过减少Drawcall数提高性能。一MeshRenderer分为DynamicBatching和StaticBatching…

    2022年9月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号