使用sqlbulkcopy报错:1 DataSet 不支持 System.Nullable<>,2.来自数据源的 datetime 类型的给定值不能转换为指定目标列的类型int。

第一个问题,

解决方法:dt.addcolunms("名字","类型"),类型不能为typeof( int?),typeof(datetime?)等可空值类型.字符串可以.所以可空值类型改成不可空即可.

第二问题,

解决方法: bulkCopy.WriteToServer(dt);先检查dt的列类型是不是不对?,如果没问题,再检查这个dt的列的顺序和数据库列的顺序保持一致.

 

本人遇到这两个问题就这样解决了.有朋友可能会说,我datatable的列名不就是字段名吗,为什么要顺序一致?实际上他是按顺序来的,不是根据列名来.

如果有错误,欢迎指出.

 

posted @ 2017-07-10 20:58  Cytran  阅读(469)  评论(0编辑  收藏  举报