2014-08-28 70 views
0

我正在嘗試爲單個包usinig項目部署設置部署過程,所以VS2012。我發現要更改服務器上的動態連接字符串,我可以參數化連接,所以我做了這個並創建了環境,並運行了包含連接字符串作爲參數的invirment的包,但似乎都很好,但爲什麼在連接管理器上我仍然可以看到一些在開發過程中做的舊設置?我怎樣才能刪除它?SSIS參數化連接字符串

enter image description here

回答

2

通過參數化,我假設你正在使用的配置部分在全球範圍內配置一個項目/包或在每個執行的基礎。這與使用項目/包相反

我在部署文件夾中創建了一個名爲ConnectionStrings的SSIS環境變量,它有兩個值:ServerName和CatalogName。

我右鍵單擊我的項目,DeployMe,然後選擇配置。在你的屏幕截圖中,你點擊了特定的軟件包並選擇了配置。或者你手動更改了Scope下拉菜單。

enter image description here

我先點擊References和指針添加到我的環境

enter image description here

回到Parameters標籤,我點擊到連接管理器,我要去配置CM_Project連接管理器的ServerName屬性使用我的環境變量的ServerName值。明白嗎?

enter image description here

配置服務器名稱後,我還配置了InitialCatalog財產,但不是用我的環境變量的值,我用(上圖)的「編輯值」選項來設置它。最終的結果是我的屬性現在看起來像這樣。

  1. 的下劃線表明它是從變量
  2. 環境的粗體文字表明它是手動設置設置。

enter image description here

現在,當我去跑我的包,通過代理或手動執行,它會提示我要的第一件事情是一個環境的參考。我失去了對InitialCatalog的粗體,但下劃線仍然是ServerName屬性。無論如何,兩者都是不同的價值觀,我要執行它,他們會拿起正確的價值觀。

enter image description here

所有這一切說,我覺得它更容易只是存儲整個的ConnectionString值。您將觀察到,如果採用此路線,ServerName顯示的值將顯示您的設計時間值,但這很好,因爲ConnectionString整體將在運行時覆蓋單個值。

我知道這是一個通用的答案,但我希望我已經擊中了你失蹤的步驟。