当我直接从Visual Studio运行包时,它不会抛出错误。当我通过SQL Server代理作业执行包时,它会抛出错误:
来源:Fact_Invoice_Item PWBConsolidation [1]描述:SSIS 错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误 代码:0x80004005。 OLE DB记录可用。资料来源:“微软 SQL Server Native Client 10.0“Hresult:0x00040EDA描述: “警告:聚合或其他SET消除了空值 操作。“。结束错误错误:2012-02-14 07:17:49.01代码: 0xC0047038来源:Fact_Invoice_Item SSIS.Pipeline
说明:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 PrimeOutput 组件“PWBConsolidation”上的方法(1)返回错误代码 为0xC0202009。组件在管道时返回了失败代码 引擎称为PrimeOutput()。失败代码的含义是 由组件定义,但错误是致命的和管道 停止执行。在此之前可能会发布错误消息 有关失败的更多信息。结束错误DTExec:The 包执行返回DTSER_FAILURE(1)。开始时间:上午7:14:35 完成时间:上午7:17:50经过:195.094秒。包裹 执行失败。注意:重试该步骤所需的数量 次(3)没有成功。步骤失败了。
我已经隔离了造成问题的部分。在Ole Db Source中我使用查询来获取数据,当我删除以下行时,通过Sql Server Agent Job成功执行包:
Checksum = Checksum(S.BrokerID, S.TeamID, II.DatabaseName, II.INVOICE, I.Invoice_Date, P.Expiration_Date, P.Effective_Date,
P.Binder_Effective, I.AGENCY, II.MARKET, P.POLICY, CT.LINE_OF_BUSINESS, II.Coverage_Type, SUB.INSURED,
LOB.Description, CT.Description, I.Date_Due, I.Installment, P.Installments, P.ENDORSES, I.Inv_Tdate, Inv_Acctcur,
INS.INDUSTRY, SUB.SUBMISSION
)
编辑:
我刚检查过,看起来数据的一部分通过数据流,在某些时候它只是抛出错误。我已手动设置Checksum = 2但仍无法正常工作
知道为什么会这样吗?
非常感谢,
伊利亚·
答案 0 :(得分:0)
这看起来就像你正在插入你正在插入的表上的约束问题或者你正在操作的值......就像在null值上存在聚合函数(max,sum,avg ..)一样。
尝试将错误行重定向到平面文件或具有该性质的内容,看看是否仍然出现错误。
另请尝试在SQL语句中设置ANSI_WARNINGS OFF
享受并祝你好运