繁体   English   中英

SQL作业无法执行程序包,但VS无法执行

[英]SQL job fails to execute package, but VS not

当我直接从Visual Studio运行程序包时,它不会引发错误。 当我通过SQL Server代理作业执行程序包时,它将引发错误:

来源:Fact_Invoice_Item PWBConsolidation [1]说明:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80004005。 OLE DB记录可用。 源:“ Microsoft SQL Server本机客户端10.0”结果:0x00040EDA说明:“警告:通过聚合或其他SET操作消除了空值。 结束错误错误:2012-02-14 07:17:49.01代码:0xC0047038源:Fact_Invoice_Item SSIS.Pipeline
说明:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 组件“ PWBConsolidation”(1)上的PrimeOutput方法返回了错误代码0xC0202009。 当管道引擎调用PrimeOutput()时,该组件返回失败代码。 故障代码的含义由组件定义,但是错误是致命的,并且管道停止执行。 在此之前可能会发布错误消息,其中包含有关失败的更多信息。 结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。 开始:7:14:35 AM完成:7:17:50 AM经过: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,但仍然无法正常工作

知道为什么会这样吗?

非常感谢,
伊利亚

看起来您正在插入的表上遇到约束问题,或者您要对值进行操作...就像聚合函数(max,sum,avg ..)存在于空值上一样。

尝试将错误行重定向到平面文件或类似性质的文件,然后查看是否仍然收到错误。

也尝试在SQL语句中将ANSI_WARNINGS OFF设置为OFF

祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM