SSIS 2017 - 包装零件 - “P”消失,不再可配置

时间:2018-06-05 19:10:26

标签: ssis sql-server-data-tools sql-server-2017 ssdt-bi ssis-2017

我正在为我的项目使用新的控制流程软件包,它们是偶然的。有时候我可以将它们拖到我的包裹上,并按预期工作;但是,我遇到了以下问题,我想知道这些是否是软件中的错误:

  • 每次我重新打开在设计器窗口中使用包部件的包时,将重新创建包部件的变量,仅限于包部件本身。这些是作用于父包的变量的重复,每次打开包时我都必须再次删除它们;否则包裹不起作用。这是预期的行为吗?
  • 有时当我将包装零件拖入包装,然后关闭并重新打开包装时,包装零件右上角显示的所有P(表示它们都是包装部件)消失,包装件本身不再可配置。为了使它们再次可配置,我需要从设计器工作区中删除它们,然后再将它们拖回到包中。这对屁股来说是一个巨大的痛苦,我无法弄清楚为什么只有一些包的行为方式而不是全部。

  • 当我关闭并重新打开包时,附加到这些包部件的任何和所有基于表达式的优先约束都会消失。这是致命的,因为我对更新数据库这样的事情有优先约束,我只想在某些条件下发生;重新打开包装使得无论如何都能运行。

我是否可以采取措施来防止这些行为?包装部件非常适合重复使用,但我一遍又一遍地遇到这些错误,它们让我发疯。我假设这些是错误,但在有可能出现用户错误的情况下提出问题。

1 个答案:

答案 0 :(得分:0)

能够与MS支持部门联系并获得一些答案:

  1. 即使您使用的脚本任​​务要求声明ReadOnly / ReadWriteVariables,也不需要在程序包部件级别分配变量。而是在Package本身中声明变量,然后使用Package Part Configuration对话框(在Package内部双击Package Part时打开)将它们分配给Package Part。
  2. 软件包部件上消失的P是由于在脚本软件包部件中设置了断点而引起的。删除一个包装件中的断点将包装中的所有包装件固定。
  3. 不能通过设计在包装零件之间分配基于表达式的优先约束。如果将包装零件包装在Sequence Containers中,则关闭包装后,表达式将保留并且不会删除。