【发布时间】:2009-12-11 18:48:11
【问题描述】:
我有一个视图,它生成了许多列,我想将这些列批量加载到另一个具有相同名称列的表中。
当我循环遍历 SqlDataReader 并每次使用 SqlCommand 使用 SqlParameters 进行插入时,此过程运行良好。显然,对于许多 100000 行来说,这太慢了。
我改用 SqlBulkCopy,因为视图列名和目标数据库表的列名和类型匹配(因为上述过程有效!),这似乎可行。
但是,在第一条记录上,它失败并出现 InvalidOperationException,提示“String 类型的给定值无法转换为指定目标列的 smalldatetime 类型”。第一行只有一个日期列,其值为 NULL。
视图只返回列的子集,但不是所有列的都可以为空。
任何帮助将不胜感激。
【问题讨论】:
标签: .net sql sqlbulkcopy