【发布时间】:2017-08-15 09:18:51
【问题描述】:
我正在使用批量插入脚本将一些平面文件导入 SQL Server
一些文件以
结尾-----------------------------------
所以我想要做的是或跳过最后一行或删除批量插入中的------------------。这些选项之一是否可行?
SET @s = N'BULK INSERT ' + @t + '
FROM ''' + @f + '''
WITH (FIELDTERMINATOR = ''|'',
ROWTERMINATOR = ''0x0a'',
FIRSTROW=2) '
lastrow = 1 不起作用
【问题讨论】:
-
lastrow = 1不起作用,因为这样 bulkinsert 将在第 1 行之后停止。您首先必须识别文件中的最后一行,然后使用lastrow = [faulty row number - 1] -
如果每个文件的格式都不一样,如何识别lastrow?
-
进行批量插入,然后删除带有
----的行。 -
这就是问题所在。由于最后一行的错误
----------,它没有插入 -
在这种情况下,最简单的方法可能是运行一个 powershell 脚本来准备文件(即删除最后一行)。或者更改生成此文件的过程。
标签: sql sql-server bulkinsert