在t-sql批量插入中没有太多分隔符的错误

时间:2015-09-22 15:26:36

标签: sql-server tsql error-handling bulkinsert

我正在尝试使用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

通常我希望这会导致批量插入命令失败,但是额外的“管道”会被忽略并插入到表的最后一列。

enter image description here

有没有办法捕获此错误,以便我可以回滚插入?

我没有从上面的Bulk insert命令中得到任何错误,而且我有1000行,所以我不想对数据列进行后处理。

提前致谢。

0 个答案:

没有答案