【问题标题】:SQL Server 2017: IID_IColumnsInfo Bulk Insert ErrorSQL Server 2017:IID_IColumnsInfo 批量插入错误
【发布时间】:2019-01-09 20:24:03
【问题描述】:

我过去使用过以下脚本没有问题,所以我不确定为什么它现在会导致我出现问题。

消息 7301,第 16 级,状态 2,第 8 行
无法从链接服务器“(null)”的 OLE DB 提供程序“BULK”获取所需的接口(“IID_IColumnsInfo”)。

我的代码:

(
    FORMAT = 'CSV', 
    FIELDQUOTE = '"',
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    TABLOCK
)

screenshot of setup and error

  • 文件大小:112 MB
  • 行数:322,190
  • Microsoft Server Management Studio v17.4

【问题讨论】:

    标签: bulkinsert sql-server-2017


    【解决方案1】:

    你可以试试

    ROWTERMINATOR = '\r\n'
    

    ROWTERMINATOR = '0x0a'
    

    【讨论】:

      【解决方案2】:

      由于您使用的是 CSV 文件,因此行终止符可能是换行符 (LF),0x0a 以十六进制表示。下面的示例说明了这种类型的行终止符。

      BULK INSERT dbo.YourTable
      FROM 'C:\FilePath\DataFile.csv'
      WITH (
          FORMAT = 'CSV', 
          FIRSTROW = 2,
          FIELDQUOTE  = '"',
          FIELDTERMINATOR = ',', 
          ROWTERMINATOR = '0x0a',  
          TABLOCK
      );
      

      【讨论】:

        【解决方案3】:

        尝试删除 FORMAT= 'CSV' 行

        您的文件可能不符合 RFC 4180。

        这对我有用,但这个错误

        【讨论】:

          【解决方案4】:

          确保文件开头没有字节顺序标记 (BOM),否则会导致此错误并失败。

          【讨论】:

            猜你喜欢
            • 2023-03-03
            • 1970-01-01
            • 1970-01-01
            • 2010-09-24
            • 1970-01-01
            • 1970-01-01
            • 2012-10-26
            • 1970-01-01
            相关资源
            最近更新 更多