【发布时间】:2014-09-16 18:56:10
【问题描述】:
我正在进行批量插入,我必须跳过最后一行。否则,我收到一条错误消息“批量插入:数据文件中遇到意外的文件结尾 (EOF)”。 如果我设置 ROWTERMINATOR='\r\n',那么我导入了 0 行。
我想知道是否有任何代码可以帮助我跳过 txt 文件的最后一行? (最后一行是动态的。)我的公司目前没有安装 SSIS。
我的批量插入代码是
Declare @SQL1 varchar(150), @path varchar(100),
@pathtable varchar(100), @date datetime
set @date = getdate()
-- set path for files
set @path= 'C:\imp\'
set @pathtable = @path + 'importfile.txt'
delete from IDX
-- set sql
set @SQL1 = "BULK INSERT dbo.table FROM '" + @pathtable
+ "' WITH (FIRSTROW = 2, MAXERRORS = 0)"
-- Bulk insert
exec(@sql1)
【问题讨论】:
-
感谢您提到这一点,但这是否有助于我跳过最后一行?
-
是的,您可以使用格式文件提及要读取的字段数。
-
我想包含除最后一行之外的所有字段(列)。我不认为格式文件可以做到这一点?
-
如果您事先知道字段的数量并且它是固定的,那么格式化文件的工作方式需要其他方式
标签: sql sql-server