【发布时间】:2019-03-14 16:02:14
【问题描述】:
我已经对 SO 进行了一些研究,但很难找到解决方案(这可能是我正在搜索的方式),所以如果您知道的话,请指导我找到合适的帖子。我也绝不是 SSIS 大师。
我有一个始终成功完成的 SSIS For Loop,但循环内的各种数据流和脚本任务会间歇性地运行(有时它们都运行成功,但当它们不运行时,它们没有任何指示符他们跑了......没有绿色/红色/黄色复选标记,只是空白)。似乎循环中的 evalexpression 被错误地解释了。如果我在 VS 中手动重新运行包,有时它会返回数据,有时它不会。此程序包部署到 SSISDB,并且 SQL Server 代理作业每晚都成功运行,但同样,间歇性返回或不返回前几天的数据。
循环是根据日期设置的。 initexp 为其分配昨天的日期,assign 表达式在成功运行后将 date 变量增加一天,然后应评估为 false。看图
@begindate 变量的表达式是
= dateadd("d",-1,getdate())
这是 For 循环及其内部项目的图像。万一重要的话,里面的任务只是出去打一个api,将结果存储在一个变量中,然后通过各种脚本任务进行处理。
任何可取的故障排除后续步骤?有什么我忽略/遗漏的吗?
无数据变量信息的成功运行图片
【问题讨论】:
-
SSIS 数据库位置和系统时间很重要。是本地服务器吗?
-
@user10454145 你能贴一张它什么时候不运行的图片吗?难道都跑不了?如果添加日志记录,您会在其中看到什么?
-
@ShivSidhu 是的,它是本地服务器,感谢您的询问,我忘了在帖子中包含它。它正确解释了 dateadd 表达式(例如,当我今天运行它时,它返回 3 月 13 日,3 月 14 日)
-
@Arthur 向 OP 发布了一张照片。我禁用了其他软件包,但它们都做了类似的事情。将链接粘贴到图像中,该图像显示 For Loop 容器成功执行,然后在运行时填充了哪些变量。不确定您还想查看哪些其他日志记录?
-
我可以看到你设置了断点,这就是执行停止的原因@user10454145
标签: sql-server ssis etl foreach-loop-container