【问题标题】:sql server - bulk insert errorsql server - 批量插入错误
【发布时间】:2023-03-03 12:36:01
【问题描述】:

我正在使用批量插入并出现以下错误:

注意:加载文件中的数据超出配置的列长度

运行命令:

使用 (firstrow = 1, fieldterminator = '0x09', rowterminator = '\n',MAXERRORS = 0, ERRORFILE = 'C:\temp\数据加载\加载文件')

加载文件内容:

user_name   file_path   asset_owner   city      import_date    
admin       C:\         admin         toronto   04/12/2012

错误:

消息 4863,第 16 级,状态 1,第 1 行
第 1 行第 6 列的批量加载数据转换错误(截断)(已验证)。
消息 7399,第 16 层,状态 1,第 1 行
链接服务器“(null)”的 OLE DB 提供程序“BULK”报告了错误。提供商没有提供有关该错误的任何信息。 消息 7330,第 16 级,状态 2,第 1 行
无法从链接服务器“(null)”的 OLE DB 提供程序“BULK”中获取行。

【问题讨论】:

  • 你能提供 load_data 架构吗?
  • 第 6 列是该行的最后一个字段吗?听起来字段或行终止符可能不正确。我过去见过这种情况。由于它没有找到终止符,它认为字段/行延伸到下一个字段或行。只是猜测。
  • 您似乎没有 6 列...此外,格式与您在 SO 上可能期望的略有不同,因此我调整了您的数据,使其对齐...不幸的是,导致分隔符选项卡丢失(尽管我个人更喜欢非空白字符)。

标签: sql sql-server


【解决方案1】:

列数不正确。我最近更改了表架构,但忘记刷新表。

【讨论】:

  • 在相同情况下对我来说同样的错误:8 个表格列,但我的 CSV 中有 7 个字段
【解决方案2】:

我通过更改架构中的数据类型解决了同样的问题。我将日期类型更改为 nvarchar ......它工作了

【讨论】:

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