问题描述
情况:我和其他开发人员在另外两个git分支上使用相同的.dtsx包(在VS 2019中)工作。我们想将更改合并到master分支,但是对于任何尝试合并第二个的人来说都有很多冲突。
是否有任何工具或方法可以合并此软件包,而不必手动解决所有冲突?
解决方法
如果您已经进行了更改,但无法识别所有差异,则一种选择是将SSIS包从Varigence导入BimlOnline工具中,然后比较生成的Biml脚本。
但是正如Nick所说,dtsx文件不能在多个编辑器中正常播放。文件的xml包含每个程序包的逻辑,属性和 layout ,因此即使将任务移动一个像素也将导致更改。
但是,如果您的环境需要共享开发,我强烈建议您通过BimlExpress Visual Studio插件学习如何使用Biml。如果您能够在元数据驱动的Biml解决方案中开发项目,则可以看到大大减少了交付调整和新功能的时间,以及可以对Biml脚本进行源控制的能力,而不是dtsx文件本身。
也就是说,尼克也很正确,您的包裹应该不复杂。通过将所有ETL逻辑封装到存储过程中,并委派SSIS在适当的时间简单地调用正确的过程,您几乎总是可以获得更好的性能和更容易维护的解决方案。