我正在嘗試使我們的SQL Server Integration Services包儘可能便攜,並且防止出現這種情況的一件事是配置路徑始終是絕對路徑,這使得測試和部署成爲頭痛的問題。是否有任何建議讓這個更易於管理?是否可以使用SSIS包dtsConfig文件的相對路徑?
另一個問題是,當另一個開發人員從源代碼管理中獲取軟件包時,路徑是特定於開發人員計算機的。
我正在嘗試使我們的SQL Server Integration Services包儘可能便攜,並且防止出現這種情況的一件事是配置路徑始終是絕對路徑,這使得測試和部署成爲頭痛的問題。是否有任何建議讓這個更易於管理?是否可以使用SSIS包dtsConfig文件的相對路徑?
另一個問題是,當另一個開發人員從源代碼管理中獲取軟件包時,路徑是特定於開發人員計算機的。
如果您嘗試使用Visual Studio執行包,那麼配置文件路徑將在那裏硬編碼。因此,如果您移動項目,則需要更改包設置中的路徑。爲了避免這種情況,您可以使用環境變量選項來存儲配置文件路徑。那麼你只需要改變它。
但是,對於測試和部署,您應該使用dtexec實用程序來執行您的軟件包。爲此製作一些批處理文件。對於每個不同的環境優選一個。這裏的配置文件路徑可以是相對的。
dtexec /File Package.dtsx /Conf configuration.dtsConfig"
這是如果你是軟件包在文件系統上。您還可以將它們存儲在SQL Server中。您還可以將您的配置存儲在SQL Server中,這可能會提供靈活性。
經過幾個小時努力使這項工作我找到了解決方案here(不是最好的,但它的工作原理)
否則,相對路徑不適用於我。
退房免費的實用工具,可以編輯SSIS配置文件路徑沒有BIDS: http://ssisconfigeditor.codeplex.com/
我對這些各種各樣的問題股票的標準招被映射驅動器。
通過使用mapped network drive或使用Subst(兩種方法都可互換)。
例如將包的位置映射到N:\,然後在包內使用N:\ MyParentPackage.dtsx,N:\ MyChildPackage.dtsx路徑。軟件包可以位於不同機器上的不同文件夾中的完全不同的驅動器上,只要將軟件包位置映射到N:\
我通常在工程文件的旁邊放置一個腳本來映射驅動器,映射驅動器,以便以前可以輕鬆運行。一個問題,如果你在VISTA-Win8上使用subst,將它映射爲提升和非提升。
我對Visual Studio項目中的文件引用使用相同的方法。只有在使用這種方法時,您才能在開發環境中解決太多問題,並且會用盡驅動器盤符。
1表示環境變量。這對於多個開發人員來說是一個很好的解 – 2012-06-01 02:00:45
請注意,如果您已經檢查過SSIS - >「啓用軟件包配置」,它將忽略您放入/ Conf參數中的內容,並使用硬編碼到軟件包中的內容。 – NickHeidke 2012-06-29 19:38:46