我正在尝试使用T-SQL Bulk Insert命令将数据从管道分隔的文本文件插入到表中。
BULK INSERT #compprofiletable
FROM ''' + @FileLocation + '''
WITH (DATAFILETYPE = ''char'',
CODEPAGE = ''RAW'',
FIELDTERMINATOR = ''|'',
FIRSTROW = 2,
ROWTERMINATOR = ''0x0a'')
我期待我的文本文件中有3列数据。
Date|Company_Profile|Profile_Stat
12/31/2014|First Closing|7/31/2014
但是我在文本中收到的分隔符过多:
Date|Company_Profile|Profile_Stat
12/31/2014|First Clo|sing|7/31/2014
通常我希望这会导致批量插入命令失败,但是额外的“管道”会被忽略并插入到表的最后一列。
有没有办法捕获此错误,以便我可以回滚插入?
我没有从上面的Bulk insert命令中得到任何错误,而且我有1000行,所以我不想对数据列进行后处理。
提前致谢。