使用SqlBulkCopy,报错“从bcp客户端收到一个对colid 4无效的列长度”

报错的地方是colid 4,也就是说导入excel时,excel表中的第四列除了问题。

可以看到,第四列的CardNo在数据库中长度约束为18,经检查是excel中的CardNo列长度为19,导致报错。

也就是官方说法:字符串长度超出数据类型

解决办法:

将excel中的CardNo列数据改为18位,或者将数据库中的varchar(18)改为varchar(19),根据需要来。