我使用批量插入脚本将大量平面文件导入SQL Server
一些文件以
结尾-----------------------------------
所以我想做的是或跳过最后一行或删除批量插入中的------------------
。这些选择之一是否可能?
SET @s = N'BULK INSERT ' + @t + '
FROM ''' + @f + '''
WITH (FIELDTERMINATOR = ''|'',
ROWTERMINATOR = ''0x0a'',
FIRSTROW=2) '
lastrow = 1
无法正常工作
答案 0 :(得分:0)
我能想到的唯一方法是首先将整个文件批量插入单个列表(如varchar(max)
)。您可以识别最后一行,并在实际bulk insert
中使用该值。
这不是一个非常简单的方法,但我不认为还有另一种方法(除非你用C#或java或其他方式编写自定义解决方案)。也许您可以使用SQLCMD
来首先读取文件中的行数,但我不知道如何。
请注意,Microsoft已关闭了connect项。在那个页面上微软建议使用openrowset
解决方案,值得尝试,但我怀疑它会适用于你的情况。