今天在向SQL2005导入Excel数据时,出现以下错误:
图1.1 导入错误
图1.2 错误报告
经过修改多次“hw_content”列的数据,也还是出现上面的错误,起初认为是“hw_content”列的内容格式不对,是不是含有不匹配的字符。但查找了多次都没发现有什么另类的字符。
仔细一看出错原因“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”,说明是“hw_content”列的数据被截断了,为什么呢?
原来在sql2005处理导入的excel数据时,为了得出各字段的属性,sql2005会根据此字段的前面8行(取此8行中最大的)数据的类型、大小来确定此字段的属性值。
这样一来,查了一下将要导入的excel数据,发现“hw_content”列的前8行的字符数为165,而在第133以后行的字符数据为378。
为了验证上面的说法,将“hw_content”列第132行以后的数据删除,即前面的132行数据的字符数都小于255,导入结果如下:
图1.3 导入正确
如上图所示,上传已经成功,且“hw_content”列的属性值为,即为nvarchar(255),大小为255个字符。
如果想导入原先的excel数据,必须将“hw_content”列的前面几行的字符数改大,才能导入正确的数据,也属性也变成 。