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