2014-08-27 29 views
1

我的公司有数百个SSIS包,它们将受到一些必需的SQL表更改的影响。这些变化涉及少数列的长度正在增加,并增加了另一列。我希望找到一些方法来更新OLE DB目标的元数据,而无需手动打开每个软件包。我可以在SSIS包中编辑XML吗?

有没有办法对.dtsx文件中包含的XML执行查找/替换操作类型,或者这只是要求麻烦?

其他建议?

+0

我升级了一些我使用的连接管理器驱动程序软件。这阻止了旧版SSIS包在UI中的加载。我编辑了XML来替换旧的连接管理器,并且它的工作完美无瑕。 – Tarzan 2016-11-29 16:37:57

回答

0

如果你知道自己在做什么绝对没问题,那么比创建这个怪物IDE容易得多。我过去做过,只是确保你以前复制过。

0

如果您要添加一列,比简单地执行查找/替换要复杂一些,因为您需要为该列生成一个GUID并确保所有引用都更新为指向它。

正如T McKeown所说,手动编辑SSIS XML具有非常高的故障率,但这并非不可能。

如果你有一位可以走路和咀嚼口香糖的实习生,我会把它作为第一个选择扔在它上面。

+0

我没有看到与现有列关联的GUID,但是存在血统ID。也许这就是你指的?我假设这需要在给定的包中是唯一的。最重要的是,元数据中包含的每个列在程序集内还有一些自动生成的VB代码。 看起来这种方法可能与打开每个包装一样痛苦。 – ghostpuddin 2014-08-27 20:43:36

+0

是的,我指的是血统ID。它确实需要对包装是独一无二的;可能它需要在解决方案中是唯一的,但我没有测试过。这是一个主要的痛苦。我要走这条路,因为我必须不时映射600列固定宽度的文件;否则我会手动做。 倒入一些新鲜的咖啡,让你的大脑闲置,并享受一些安全,稳定的苦差事。 – 2014-08-27 21:12:59

相关问题