日期:2014-05-17  浏览次数:20534 次

MSSQL数据导入之怪异问题
今天导入数据出现错误,于是挨着排查。发现:
10,24477,1,20,NNNNNNNY,1,0,0,0,12/02/15,08:00AM,8033,0,0,0,0,6003979127843,1525166200101,菊乐核桃花生奶,15,170,1.000,0,0.001,0,0,0,0,8192,0,,0,0,251,1.000,170,0.000,0,0,NNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNN,0,0

这一段怎么都不能导入到数据库,以上就是一行数据,麻烦各位指点下迷津啊。
各位可以复制成TXT文档进行导入 一共42个字段

------解决方案--------------------
你这行所有字段的定义是否符合数据库定义?
比如字符串长度等。

还有就是:
10,24477,1,20,NNNNNNNY,1,0,0,0,12/02/15,08:00AM,8033,0,0,0,0,6003979127843,1525166200101,菊乐核桃花生奶,15,170,1.000,0,0.001,0,0,0,0,8192,0,,0,0,251,1.000,170,0.000,0,0,NNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNN,0,0
红色符号处,少个值。
------解决方案--------------------
10,24477,1,20,NNNNNNNY,1,0,0,0,12/02/15,08:00AM,8033,0,0,0,0,6003979127843,1525166200101,菊乐核桃花生奶,15,170,1.000,0,0.001,0,0,0,0,8192,0,,0,0,251,1.000,170,0.000,0,0,NNNNNNNNNNNNNNNNNNNYNNNNNNNNNNNN,0,0

我也发现了.....早知道我不回复了
------解决方案--------------------
,,这种格式应该不影响,应该可以理解为空字符的占位,这样应该可以接收
而且我看你的,,处是第30列,而报错列是18列,应该不是这个影响的吧

如果你说改后18列不报错了,那么可以不管这个了,你既然说已正常插入13行
那么数据错误是从第14行开始的,应该仔细检查一下第14行数据中的第41列
------解决方案--------------------
提示是42列错误被截断,不是41,41是你的列名,应该是从列0开始的

我猜测可能是你的最后一列有空格或者空白字符,使其长度超出了表中长度

不过我刚做了测试,用导入导出工具可以直接截断,只显示警告而不显示错误
这个我就不太清楚是哪里设置的了