【问题标题】:debug ssis package - reload InnerPackage.dtsx调试 ssis 包 - 重新加载 InnerPackage.dtsx
【发布时间】:2009-06-26 22:41:33
【问题描述】:

我使用向导构建了一个在我的表中循环执行的包。它一直有效,现在我必须改变它。我到底该如何调试这个东西?当我尝试从投标中运行它时,它会打开 InnerPackage.dtsx 进行编辑,然后询问我是否要重新加载它(因为它自循环的最后一次迭代以来已经改变)。我不能足够快地按下是或否来防止包失败,因为“进程无法访问该文件,因为它正被另一个进程使用”。我怎样才能防止它打开,以便我可以在服务器运行包并修复它时达到它实际上失败的地步。 非常感谢。

【问题讨论】:

  • 为什么包变了?它不应该从一个迭代更改为下一个迭代。你怎么称呼这个内包?在循环内执行打包任务?
  • 我真的不知道。我认为它必须从一个迭代更改为下一个迭代,不是吗,否则如何在不同的表上执行相同的任务 - 基于 tableschema.xml 定义?是的,它是循环内的执行任务。

标签: sql sql-server sql-server-2005 tsql ssis


【解决方案1】:

向导在幕后使用了一些“魔法”来完成它的工作,这使得调试变得非常困难。您最好自己重新创建包。更多工作,但您可以更轻松地对其进行调试。

【讨论】:

  • 我完全赞成!如何学习如何在没有副作用的情况下复制他们的魔法 - 即循环遍历表并创建一个可以在事务中运行的动态包?
【解决方案2】:

在其上或在其前面的步骤上放置一个断点。

或者,您可能需要复制包,然后使用 BIDS Helper 打开它并重新生成所有 ID (GUID)。 (BID 助手可以为您一步完成)。

【讨论】:

  • 我无法设置断点,因为我的代码全部显示为一行 - 我也非常希望更改。 Bids Helper 很酷,感谢您的建议。我移动了文件并尝试重置 GUID - 不爱。
猜你喜欢
  • 2011-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
相关资源
最近更新 更多