SQL Server导入Excel文件报错

我以前也导入过数据,也没报错,今天再次导入数据的时候,发现了两个错误,如下

文本被截断,或者一个或多个字符在目标代码页中没有匹配项

这个很好理解,就是你的数据太大了,而你设置的大小不够用,这里可能会有疑问

如下图,明明可以设置大小的,设置大小之后还是会报错.

原因

这个是因为,SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别。如果前8条是少于255的字符串,则设成nvarchar(255)类型,但如果Excel后面的记录中有长度超过255的,导入时就会出错。即使在导入设置映射时调整了该字段的长度也不行。

解决方法

我是在Excel数据的第一行加了一行,每个字段都填了很长的字符,这样SQL Server在检测前8行的时候,就会自动设置最大值了

该值违反了该列的完整性约束

空行

这个是因为你后面的新列是空格,你选中最后一个字段后面的列,删除,消除掉空格存在的可能,只要导入的时候没出现F10之类的F开头的,就可以

没有设置为允许为NULL

还有另外一种原因,这个字段有设置为允许为NULL的地方,我取消了,设置的不允许为MULL,然后就出现了一个某个列违反了数据完整性的报错
重新设置为允许为NULL就没有这个问题了

posted @ 2019-07-18 15:57  蜀云泉  阅读(2642)  评论(0编辑  收藏  举报