我用BULK INSERT 时出现这个错误。检查发现文本文件最后一行结尾后还有一行(没有数据,只是相当与回车)。我怎么在BULK INSERT 的时候检查最后一行,并避免发生标题所说的错误呢??各位兄弟帮下忙。说明:文本文件为应用程序导出的,最后一行多的那个回车是固定格式,我必须在BULK的时候进行处理。

解决方案 »

  1.   

    --try
    BULK INSERT Northwind.dbo.[Order Details]
       FROM 'f:\orders\lineitem.tbl'
       WITH 
          (
             FIELDTERMINATOR = '|',
             ROWTERMINATOR = '|\n',
     MAXERRORS=10
          )
      

  2.   

    增加了 MAXERRORS = 10 ,还是一样的错误:服务器: 消息 4832,级别 16,状态 1,行 1
    大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
    服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'STREAM' 报错。提供程序未给出有关错误的任何信息。
    语句已终止。
      

  3.   

    自己找到原因了,行的字段终止符设置没对FIELDTERMINATOR = '\t',
    ROWTERMINATOR = '\r'改成
    FIELDTERMINATOR = '\t',
    ROWTERMINATOR = '\n'后运行正常。