用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu密码设置规则_密码复杂性策略

    ubuntu密码设置规则_密码复杂性策略版本查看cat/etc/issuecat/proc/version内核查看uname-aUbuntu修改密码及密码复杂度策略设置方法一、修改密码1、修改普通用户密码passwd2、修改root用户密码sudopasswdroot默认root用户被禁止登录,如果需要解除限制,修改配置即可sudovim/etc/ssh/sshd_config将默认配置注释掉,添加一行新的配置,默认的配置为允许root登录,但是禁止root用密码登录将默认配置注释掉,添加一行新

    2022年9月29日
    3
  • java二维数组三种初始化方法(实例)[通俗易懂]

    java二维数组三种初始化方法(实例)[通俗易懂]初始化方法:1、使用大括号直接赋值,适合已经确定知道数组元素的情况2、给定二维数组的大小3、数组第二维的长度可变化,未改变代码举例如下:publicclassNewArray{publicstaticvoidmain(String[]args){//第一种://int[][]arr1=newint[][]…

    2022年5月24日
    44
  • matlab矩阵除法「建议收藏」

    matlab矩阵除法「建议收藏」matlab中除法有四种,作除:\ .右除:/ ./对于标量的运算/与./用法一致,a/b或a./b表示a除以b\与.\用法一致,a\b或a.\b表示b除以a对于矩阵运算/:a/b表示矩阵a乘矩阵b的逆矩阵,与a*inv(b)一致\:a\b表示矩阵a的逆矩阵乘矩阵b,与inv(a)*b一致./:a./b表示矩阵a中的每个元素除矩阵b中的相对应的元素.\:a.\b表示矩阵b中的每个元素除矩阵a中的相对应的元素…

    2022年6月29日
    70
  • linux命令行杀死进程_shell脚本获取进程号并杀死进程

    linux命令行杀死进程_shell脚本获取进程号并杀死进程1.kill作用:根据进程号杀死进程用法:kill[信号代码]进程ID举例:[root@localhost~]#psauxf|grephttpdroot49390.00.05160708pts/3S+13:100:00\_grephttpdroot48300.11.32423210272?Ss13:020:00/usr/sbin/h…

    2022年9月1日
    5
  • Atom + activate-power-mode 关闭屏震

    Atom + activate-power-mode 关闭屏震点击SelectPlugin  去掉第一个的勾选就可以了

    2022年7月14日
    16
  • 【软考】系统集成项目管理工程师(一)信息化知识[通俗易懂]

    【软考】系统集成项目管理工程师(一)信息化知识[通俗易懂]软考中级——系统集成项目管理工程师备考干货第一章:信息化知识。

    2022年8月31日
    4

发表回复

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

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