sqlbulkcopy 使用DataTable作为数据源的数据类型问题–来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier…

sqlbulkcopy 使用DataTable作为数据源的数据类型问题–来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier…今天做批量插入的时候,SQLSERVER总是报错,错误提示“来自数据源的String类型的给定值不能转换为指定目标列的类型uniqueidentifier”。首先核对了一下定义的dataTable中的DataColumn[]的顺序和数量,发现和数据库的表结构是一致的,而且把代码中对dataRow[]对应位置赋值的语句屏蔽后,执行成功。因此可以确定主要还是由于类型转换的时候的问题。后来…

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

今天做批量插入的时候,SQLSERVER总是报错,错误提示“来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier”。

首先核对了一下定义的dataTable中的DataColumn[]的顺序和数量,发现和数据库的表结构是一致的,而且把代码中对dataRow[]对应位置赋值的语句屏蔽后,执行成功。

因此可以确定主要还是由于类型转换的时候的问题。

后来,在对dataRow[]对应位置赋值的时候,强行用new Guid()方法把String类型转成GUID类型,还是有问题。

经过不断的查找资料,后来发现,问题出现在定义dataTable中的DataColumn[]时,我原先的代码,对数据库中相应字段的定义是这样的:new DataColumn(“FolderID”),

应该改成下面这样就可以了new DataColumn(“FolderID”,typeof(System.Data.SqlTypes.SqlGuid)),就是在定义的时候,就指定类型。

至于为何,对于数据库中nvarchar,datetime,int,decimal这些类型的字段,在定义时不需要指定类型,就不清楚了。只能后续再继续研究研究了

转载于:https://www.cnblogs.com/tlduck/p/6090276.html

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

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

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


相关推荐

  • flutter开发app_flutter项目

    flutter开发app_flutter项目前段时间Flutter很火,所以在闲暇之余做了一个助学通的Flutter移动端应用,现在开源出来,希望对想要学习Flutter的朋友有所帮助。我大致做个项目介绍:学生签到系统:分java服务端提供

    2022年8月5日
    7
  • Vcl控件详解_c++控件

    Vcl控件详解_c++控件TTabControl属性 DisplayRect:只定该控件客户区的一个矩形HotTrack:设置当鼠标经过页标签时,它的字是否有变化。如果为True,是字会变成蓝色Images:为每个页标签添加一个图片MultiLine:如果总页标签的长度大于该控件的宽度时,是否允许多行显示MultiSelect:是否允许多选页标签。该属性只有当Style为tsFlatButtons或

    2022年9月25日
    3
  • VB学习1

    VB学习1 

    2022年6月21日
    31
  • C3P0jar包下载方法

    C3P0jar包下载方法百度C3P0下载官网进行下载或者进入下载链接:https://sourceforge.net/projects/c3p0/点击download下载即可进入官网:https://sourceforge.net/在右边搜索框搜索c3p0也能找到…

    2022年5月14日
    138
  • python-opencv2利用cv2.findContours()函数来查找检测物体的轮廓

    python-opencv2利用cv2.findContours()函数来查找检测物体的轮廓转自http://blog.csdn.net/sunny2038/article/details/12889059相比C++而言,Python适合做原型。本系列的文章介绍如何在python中用OpenCV图形库,以及与C++调用相应opencv函数的不同之处。这篇文章介绍在Python中使用OpenCV检测并绘制轮廓。提示:转载请详细注明原作者及出处,谢谢! 本文介绍在OpenCV…

    2022年10月4日
    2
  • Python多线程与多线程中join()的用法

    Python多线程与多线程中join()的用法Python多线程与多进程中join()方法的效果是相同的。下面仅以多线程为例:首先需要明确几个概念:知识点一:当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多

    2022年7月3日
    26

发表回复

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

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