我正在努力使我们的SQL Server Integration Services包尽可能地可移植,但有一件事阻止了这一点,那就是到配置的路径始终是绝对路径,这使得测试和部署变得令人头疼。有什么建议可以让这件事更容易管理吗?
另一个问题是,当另一个开发人员将包从源代码控制中获取时,路径是特定于开发人员机器的。
发布于 2008-10-24 13:30:13
如果您正在尝试使用Visual Studio执行您的包,那么配置文件路径将被硬编码在其中。因此,如果您移动您的项目,您将需要更改包设置中的路径。要避免这种情况,可以使用Environment variable选项来存储配置文件路径。那么你只需要改变这一点。
但是,对于测试和部署,您可能应该使用dtexec实用程序来执行包。为此制作一些批处理文件。优选地,每种不同的环境都有一个。这里的配置文件路径可以是相对的。
dtexec /File Package.dtsx /Conf configuration.dtsConfig
这是如果你的包在文件系统上的话。您还可以将它们存储在SQL Server中。您还可以将配置存储在SQL Server中,这样可以提供灵活性。
发布于 2012-05-19 13:40:59
查看免费的实用程序,无需出价即可编辑SSIS配置文件路径:http://ssisconfigeditor.codeplex.com/
发布于 2013-10-17 10:13:22
对于这类问题,我常用的标准技巧是映射驱动器。
通过使用mapped network drive或使用Subst (这两种方法都可以互换)。
例如,将包的位置映射到N:\,然后在包中使用N:\MyParentPackage.dtsx、N:\MyChildPackage.dtsx的路径。这些包可以位于完全不同的驱动器上,在不同的计算机上的不同文件夹中,一旦您将包位置映射到N:\
我通常在项目文件旁边放一个脚本来映射驱动器,这映射了驱动器,所以它可以很容易地运行。一个陷阱是,如果你在VISTA - Win8上使用subst,将它映射为提升和非提升。
我对Visual Studio项目中的文件引用使用相同的方法。唯一的问题是这种方法,你用来解决开发环境中的太多问题,你会用完驱动器盘符。
https://stackoverflow.com/questions/233434
复制相似问题