调试 ssis 包 - 重新加载 InnerPackage.dtsx
Posted
技术标签:
【中文标题】调试 ssis 包 - 重新加载 InnerPackage.dtsx【英文标题】:debug ssis package - reload InnerPackage.dtsx 【发布时间】:2009-06-26 22:41:33 【问题描述】:我使用向导构建了一个在我的表中循环执行的包。它一直有效,现在我必须改变它。我到底该如何调试这个东西?当我尝试从投标中运行它时,它会打开 InnerPackage.dtsx 进行编辑,然后询问我是否要重新加载它(因为它自循环的最后一次迭代以来已经改变)。我不能足够快地按下是或否来防止包失败,因为“进程无法访问该文件,因为它正被另一个进程使用”。我怎样才能防止它打开,以便我可以在服务器运行包并修复它时达到它实际上失败的地步。 非常感谢。
【问题讨论】:
为什么包变了?它不应该从一个迭代更改为下一个迭代。你怎么称呼这个内包?在循环内执行打包任务? 我真的不知道。我认为它必须从一个迭代更改为下一个迭代,不是吗,否则如何在不同的表上执行相同的任务 - 基于 tableschema.xml 定义?是的,它是循环内的执行任务。 【参考方案1】:向导在幕后使用了一些“魔法”来完成它的工作,这使得调试变得非常困难。您最好自己重新创建包。更多工作,但您可以更轻松地对其进行调试。
【讨论】:
我完全赞成!如何学习如何在没有副作用的情况下复制他们的魔法 - 即循环遍历表并创建一个可以在事务中运行的动态包?【参考方案2】:在其上或在其前面的步骤上放置一个断点。
或者,您可能需要复制包,然后使用 BIDS Helper 打开它并重新生成所有 ID (GUID)。 (BID 助手可以为您一步完成)。
【讨论】:
我无法设置断点,因为我的代码全部显示为一行 - 我也非常希望更改。 Bids Helper 很酷,感谢您的建议。我移动了文件并尝试重置 GUID - 不爱。以上是关于调试 ssis 包 - 重新加载 InnerPackage.dtsx的主要内容,如果未能解决你的问题,请参考以下文章
如何在SQL Server Management Studio 2017中调试SSIS包?
SSIS 包 - 由于错误 0xC0014062 无法加载包