【发布时间】:2013-04-11 15:46:01
【问题描述】:
我有一个带有脚本任务的控制流,它检查文件是否存在,如果它存在,那么它会移动到数据流任务。如果未找到,则执行 SQL 任务,将详细信息写入错误日志,之后它应移至下一个文件进行检查。不幸的是,它在更新后停止在 SQL 任务上。
我尝试在 SQL 任务之后更改约束,但没有成功。
尽管搜索找不到答案!!!
帮助最感激。 谢谢
抱歉,我还不能上传图片,但这里有一个 link 用于 SkyDrive 上的图片。
我对每个脚本任务都有一个约束,它基本上检查一个包含文件名的变量,如果找到则运行数据流,如果没有则写入错误。这是一个更大的循环的一部分,该循环查找包含自上次处理以来的时间戳的文件。
虽然我注意到即使第一个文件在那里,控制流在数据流之后停止,但现在我很困惑!!!!!!
谢谢
日志:
SSIS 包“P76import.dtsx”启动。 信息:进程 P76 调整文件中的 0x4004300A,SSIS.Pipeline:验证阶段开始。 信息:进程 P76 调整文件中的 0x40043006,SSIS.Pipeline:准备执行阶段开始。 信息:进程 P76 调整文件中的 0x40043007,SSIS.Pipeline:预执行阶段开始。 信息:进程 P76 调整文件中的 0x402090DC,P76 调整文件 [368]:文件“C:\Mark\P76\ImportFiles\P76_ADJUSTMENTS_20130408.csv”的处理已开始。 信息:进程 P76 调整文件中的 0x400490F4,查找 [438]:组件“查找”(438) 已缓存 4 行。 信息:进程 P76 调整文件中的 0x400490F5,查找 [438]:组件“查找”(438) 已缓存总共 4 行。 信息:进程 P76 调整文件中的 0x402090E2,查找 [438]:组件“查找”(438) 在缓存中处理了 4 行。处理时间为 0.015 秒。缓存使用了 4208 字节的内存。 信息:进程 P76 调整文件中的 0x4004300C,SSIS.Pipeline:执行阶段开始。 信息:进程 P76 调整文件中的 0x402090DE,P76 调整文件 [368]:为文件“C:\Mark\P76\ImportFiles\P76_ADJUSTMENTS_20130408.csv”处理的数据行总数为 1486。 信息:进程 P76 调整文件中的 0x402090DF,错误表 [176] 中的无效行:“组件“错误表中的无效行”(176)中的数据插入的最终提交已开始。 信息:进程 P76 调整文件中的 0x402090E0,错误表 [176] 中的无效行:“组件“错误表中的无效行”(176)中的数据插入的最终提交已结束。 信息:进程 P76 调整文件中的 0x402090DF,事务表 [411]:“组件“事务表”(411)”中数据插入的最终提交已开始。 信息:进程 P76 调整文件中的 0x402090E0,事务表 [411]:“组件“事务表”(411)”中数据插入的最终提交已结束。 信息:进程 P76 调整文件中的 0x40043008,SSIS.Pipeline:后执行阶段开始。 信息:进程 P76 调整文件中的 0x402090DD,P76 调整文件 [368]:文件“C:\Mark\P76\ImportFiles\P76_ADJUSTMENTS_20130408.csv”的处理已结束。 信息:进程 P76 调整文件中的 0x4004300B,SSIS.Pipeline:“组件“错误表的无效行”(176)“写入 0 行。 信息:进程 P76 调整文件中的 0x4004300B,SSIS.Pipeline:“组件“事务表”(411)”写入了 1485 行。 信息:进程 P76 调整文件中的 0x40043009,SSIS.Pipeline:清理阶段开始。 SSIS 包“P76import.dtsx”完成:成功。已回答 - 通过评论 问题是进入“检查是否有文件”脚本任务的约束都没有设置为真!!
【问题讨论】:
-
你有你的 SSIS 包的图像吗?你是如何配置“For Each Loop”的?
-
@Lamak - 不确定上次编辑发生了什么,这里是图片链接,因为还不能发布图片sdrv.ms/17teFHB。序列容器中有 4 个不同的文件,根据时间戳,其中任何一个都可能不可用。
-
“在更新后停止 SQL 任务”是什么意思?
-
@Lamak 简单说流程完成:(
-
如果实际执行的最后一个任务有多个约束,请确保在每个约束上选择“逻辑或。一个约束必须评估为真”。
标签: sql-server ssis