sql复制一个数据文件至数据库表,如何丢掉最后一行
使用Bulk insert复制数据,语句如下:
bulk insert dbo.[LastWeek_2011-08-10]
from 'D:\LastWeek_2011-08-10.txt'
with
(
firstrow=1,
fieldterminator='\t',
rowterminator='\n',
maxerrors=100
)
执行语句后出现了这种错误Bulk load: An unexpected end of file was encountered in the data file. The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error. Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".然后表中的数据为空。
查找了一下是因为文件最后一行的数据不完整,而且表LastWeek_2011-08-10中的字段都不许为空。文件最后两行数据如下:
us en cat 1 0 0
us en dog 0
现在想到一个解决办法,就是复制到表里的时候,判断最后一行是否完整,不完整就扔掉最后一行,或者不判断直接扔掉最后一行。不知可行不?该如何弄呢?请各位高手指点。
补充一下,LastWeek_2011-08-10.txt文件是由一个script脚本产生的,而且文件大小大约在600~800MB。