我创建了一个SSIS包。我在SSMS中创建了一个表,然后将其链接到包。
但是后来我重命名了创建的表,将其转换为事实表。我将CustomerID设置为主键。
我重新映射了所有必需的映射,但我在目的地收到此错误。
旧表名称TblCustomer重命名为FactCustomer
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。处理输入“ADO NET目标输入”(9)时,组件“ADO NET Destination”(2)上的ProcessInput方法失败,错误代码为0xC020844B。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
[ADO NET Destination [2]]错误:数据插入期间发生异常,从提供程序返回的消息是:违反PRIMARY KEY约束'PK_TblCustomer'。无法在对象'dbo.FactCustomer'中插入重复键。重复键值为(1001)。该语句已终止。
主要错误是:
违反PRIMARY KEY约束'PK_TblCustomer'。无法在对象'dbo.FactCustomer'中插入重复键。重复键值为(1001)
这意味着您要将重复值插入Fact表,检查数据是否不存在或数据是否包含重复项。