sqlbulkcopy的速度较之insert、update要快很多,之所以这样是它在进行插入的时候不进行格式、字段等的检查。
    因此在使用sqlbulkcopy的时候,必须要保证源表的列的顺序和目的表的列的顺序必须一致,列名的大小写也必须一致。如果列的顺序不一样,在插入数据的时候就会窜行,如果类型不兼容就会报诸如:“来自数据源的 XXX 类型的给定值不能转换为指定目标列的类型 XXX。”,如果两列的类型兼容不会报错,能正常插入,但是数据会窜行,事实上修改了本来的数据,这个危险更大,而且更隐蔽很难查找,而且msdn中夜没有具体的说明这个类在用的时候要注意的事项。
    eg:源表  列 bake1 = 1 bake2 = 2  bake3 = 3 但目的表的列顺序如果是bake2,bake3,bake1。那么正常的执行插入赋值之后目的表的各列的值为:bake2=1,bake3=2,bake1=3。这显然不是我们的初衷。