应该是 FIELDTERMINATOR 的问题:txt 中的文件为(注意每个中间是很多空格):
001        A1       10      5
002        A2       20      4
002        A2       10      4
003        A3       25      8
003        A3       15      8
003        A3       10      8bulk insert b from 'd:\1.txt'
WITH 
(
--         FIELDTERMINATOR = ' ',  --如果一个空格就出现你的问题
         FIELDTERMINATOR = '      ',-- 多几个空格,则没有你的问题
         ROWTERMINATOR = '\n'
)
--
附上表结构:
create table b(
f1 varchar(10),
f2 varchar(10),
f3 varchar(10),
f4 varchar(10),
)

解决方案 »

  1.   

    谢谢phantomMan老师
      您的方法我试了,可行。非常感谢。
      继续提问,您的文本文件(或者我的文本文件)中的各列之间的空格数不同,则“FIELDTERMINATOR = '      ',-- 多几个空格,则没有你的问题”解决问题,但导入的表中,字段包含空格或者没有完全取得文本列的内容,还有什么好的方法可以修正吗?