一切运行正常,只是OLE DB目的地中的错误,错误说它的转换失败,我也尝试转换ProjectedROI但转换失败。所以我检查源sqlcommand输出是否正确
然后我试着看看检查输出或通过源的数据,我看到输出的格式与目标列ProjectedROI不同,即十进制(2,2)
下面的是错误消息:
[将新记录插入Fact_Sales [162]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录可用。来源:" Microsoft SQL Server Native Client 11.0" Hresult:0x80040E21描述:"多步OLE DB操作产生错误。检查每个OLE DB状态值(如果可用)。没有工作。"。
[将新记录插入Fact_Sales [162]]错误:插入新记录到Fact_Sales.Inputs [OLE DB目标输入] .Columns [ProjectedROI]插入新记录到Fact_Sales.Inputs [OLE DB目标]时出错输入。返回的列状态为:"转换失败,因为数据值溢出指定的类型。"。
[将新记录插入Fact_Sales [162]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 "将新记录插入Fact_Sales.Inputs [OLE DB目的地输入]"失败,因为错误代码0xC020907A发生,错误行处置"将新记录插入Fact_Sales.Inputs [OLE DB目标输入]"指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件上的ProcessInput方法"将新记录插入Fact_Sales" (162)在处理输入" OLE DB目的地输入"时失败,错误代码为0xC0209029。 (175)。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
答案 0 :(得分:0)
您的来源和目的地之间有很多步骤,而且您还没有显示每个数据后的数据。在某些时候,如果我数数正确,你的数据将从十进制(2,2)变为十进制(14,11)。
从源代码开始,直到找到罪魁祸首,然后转到每个步骤,右键单击每个组件并打开高级属性,然后查看输出列ProjectedROI的数据类型。确认它具有正确的精度和比例。