2012-05-30 99 views
1

我已經設置了配置類型爲(間接XML配置文件)的包配置。環境變量指向C:\SSIS\MasterConfig\MasterConfig.dtsConfig文件。覆蓋SSIS環境變量

這個工作很好,並允許從測試到UAT輕鬆遷移到生產。

問題出在我們的開發環境中,每個開發人員都有自己的數據庫。我正在嘗試爲代理作業覆蓋主配置文件的每個開發人員設置代理作業。代理作業命令行是「:

/FILE 」C:\ SSIS \包\ Developer1 \ LoadPackage.dtsx「/ CONFIGFILE 」C:\ SSIS \包\ Developer1 \ Developer1_Config.dtsConfig「/ X86 /OFF檢查點/報告Ë

使用2008 R2

我期待的是,/ CONFIGFILE 「C:\ SSIS \ \包Developer1 \ Developer1_Config.dtsConfig」 將是代替使用 的C:\ SSIS \ MasterConfig \ MasterConfig.dtsConfig文件。

只使用主配置文件。有任何想法嗎?

回答

0

您遇到的問題在Defining a Configuration Approach for Integration Services Packages下涵蓋基本上,命令行配置正在應用,但被設計時間值覆蓋。

我不確定你的解決方案是什麼。除了我們必須處理多實例化框(dev和test共享一個物理主機)之外,這裏有類似的情況。爲了解決這個問題,我們跳過了環境變量位,並決定設計時的值總是指向dev。測試,UAT和PROD只會通過SQL代理運行包,所以我們的作業顯式定義連接字符串到配置資源。儘管如此,設計時間的價值無處不在,只是開發。

+0

謝謝你的迴應。這裏要做的最簡單的事情是:1.讓SSIS開發人員使用本地數據庫,其中沒有人會共享他們的環境變量。 2.讓開發人員很好,輪流使用共享數據庫。 – taaSarge

0

這就是我們所做的。

無論指向Production,QA還是Dev(甚至是本地),所有變量的命名都相同。我們改變的是指向配置文件的變量值。

我們創建配置文件,其中包含每個框的所有適當連接信息。所以我們每個數據庫至少有3個獨立的配置文件。我們爲它們命名DB_Prod.config,DB_QA.config,DB_Dev.config,然後DB_Joe_local.config(如果你想有一個指向本地數據庫。

然後,我們創建.bat文件,設置了變量的我有三個不同的,一個用於QA,一個用於開發,另一個用於我的本地環境。

環境變量被命名爲諸如DB1_adonet,DB1_ole,AS400等。沒有QA的指示, prod等

這是一個輕微的痛苦的屁股設置,但一旦你開始使用它,唯一的問題是記住你設置自己的環境,而且,你需要記住,你需要打開和關閉開發工作室b在緩存值時環境發生變化。另外,如果你碰巧運行一個locale包,它將使用你的環境變量值,而不是你正在運行它的盒子。

最後說明,我們已將所有配置文件簽入到TFS中。使文件易於分發。