SQL Server导入Excel文件报错
我以前也导入过数据,也没报错,今天再次导入数据的时候,发现了两个错误,如下
文本被截断,或者一个或多个字符在目标代码页中没有匹配项
这个很好理解,就是你的数据太大了,而你设置的大小不够用,这里可能会有疑问
如下图,明明可以设置大小的,设置大小之后还是会报错.
原因
这个是因为,SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别。如果前8条是少于255的字符串,则设成nvarchar(255)类型,但如果Excel后面的记录中有长度超过255的,导入时就会出错。即使在导入设置映射时调整了该字段的长度也不行。
解决方法
我是在Excel数据的第一行加了一行,每个字段都填了很长的字符,这样SQL Server在检测前8行的时候,就会自动设置最大值了
该值违反了该列的完整性约束
空行
这个是因为你后面的新列是空格,你选中最后一个字段后面的列,删除,消除掉空格存在的可能,只要导入的时候没出现F10之类的F开头的,就可以
没有设置为允许为NULL
还有另外一种原因,这个字段有设置为允许为NULL的地方,我取消了,设置的不允许为MULL,然后就出现了一个某个列违反了数据完整性的报错
重新设置为允许为NULL就没有这个问题了