【发布时间】:2021-03-05 20:00:39
【问题描述】:
我进行了搜索,但没有找到与我遇到的问题相关的任何内容。如果我忽略了,我深表歉意。
我有一个场景,我从 oData 源提取数据并且一切正常。我有一个循环中的 oData 源,我循环遍历我们每个不同的公司并为该公司提取数据。我这样做是为了减少每个 oData 调用中返回的数据量。
只要有从 oData 调用返回的数据,一切正常。在随附的照片中,您可以看到正在拨打电话并正在返回数据。
但是,当使用不返回数据的参数/过滤器调用 oData 服务时,我得到以下信息,即引发 VS_NEEDSNEWMETADATA 错误。下图显示了当没有数据返回时我得到的结果。
所以问题不在于我的元数据由于对服务所做的更改(添加/删除字段)而无效。没有返回任何内容,因此没有元数据。现在这可能是我从(SAP S4)中提取 oData 的系统的问题,并且当没有数据时系统会显示 oData 调用??
无论哪种方式,都试图找出一种在 SSIS 中处理此问题的方法。我试图设置 validate external metadata = false 但包仍然失败。我也可以通过在脚本中排除这些公司来解决这个问题,但是一旦数据确实存在,我就必须记住更新脚本并重新部署。
想法建议?
【问题讨论】:
-
还有一个延迟验证设置(因此它不会在加载时或运行之前尝试验证)。
-
有没有办法让您在没有数据时检查 oData 调用返回的内容?如下所示,一种可能的解决方法是进行“数据是否存在”调用,该调用返回布尔值是或否,即类似于 sql server IF EXISTS。根据此结果,您可以进行实际的 oData 调用。另外:blogs.sap.com/2018/09/09/…