【问题标题】:Identity Inserts using SSIS Import Export Wizard使用 SSIS 导入导出向导插入身份
【发布时间】:2016-08-15 19:57:44
【问题描述】:

我有一个文本文件,我正在使用 2012 SSIS 将其加载到专为 SQL Server 2012 中的数据设计的表中。我有一个标识为主键的列,并启用了标识规范(源中没有列文本文件映射到此列)。当我使用 SQL Server 导入和导出向导创建包并在“列映射”对话框中选中“启用标识”插入复选框时,我收到以下错误并且数据未加载。如果我删除带有主键和标识规范的列并再次执行 SSIS 包,则数据会正确加载而不会出现错误。 为什么我无法在打开主键和身份的情况下加载数据?谢谢。

[目的地 - shoppingExtractPrecise_WithIdentity3 [104]] 错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生了 LE DB 错误。错误代码: 0x80004005。 OLE DB 记录可用。资料来源:“微软 SQL 服务器 Native Client 11.0" Hresult: 0x80004005 描述: "The 语句已终止。”。有一条 OLE DB 记录可用。 来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005 说明:“无法将值 NULL 插入列 'shoppingExtract_ID',表 'shopping_Pharmacy.dbo.shoppingExtractPrecise_WithIdentity3';柱子 不允许空值。插入失败。”。

[目的地 - shoppingExtractPrecise_WithIdentity3 [104]] 错误:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “目的地—— shoppingExtractPrecise_WithIdentity3.Inputs [目标输入]”失败 因为发生了错误代码 0xC020907B,并且错误行处置 关于“目的地—— shoppingExtractPrecise_WithIdentity3.Inputs[目标输入]" 指定错误失败。指定对象发生错误 的指定组件。之前可能有错误信息发布 这包含有关失败的更多信息。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。这 组件“目标”上的 ProcessInput 方法 - shoppingExtractPrecise_WithIdentity3" (104) 失败,错误代码 0xC0209029 在处理输入“目标输入”(117) 时。这 已识别的组件从 ProcessInput 方法返回错误。 该错误是特定于组件的,但该错误是致命的并且 将导致数据流任务停止运行。可能有错误 在此之前发布的消息,其中包含有关失败的更多信息。

[来源 - SOL 08112016_txt [173]] 错误:尝试将行添加到 数据流任务缓冲区失败,错误代码为 0xC0047020。

[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。这 Source 上的 PrimeOutput 方法 - SOL 08112016_txt 返回错误代码 0xC02020C4。管道时组件返回失败代码 引擎称为 PrimeOutput()。故障码的含义是 由组件定义,但错误是致命的,并且管道 停止执行。在此之前可能会发布错误消息 提供有关失败的更多信息。

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    当“启用标识插入”复选框被选中时,这意味着 SQL 希望您将值导入标识列。如果您不向该列导入值,或导入任何对该列具有 NULL 值的行,您将收到您得到的错误。

    当它未被选中时,您可以将值导入所有其他列,SQL Server 将自动为您填充该列。

    所以根据你的描述,听起来你想让那个框不选中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多