2013-02-25 24 views
1

任何人都有什麼想法,我們如何在SSIS中爲系統集成測試環境,用戶驗收測試環境和生產環境等不同環境指定不同的連接字符串?它是通過定義多個連接管理器來完成的,還是我們可以定義多個配置文件並將連接字符串指向?如何爲SSIS中的多個環境定義連接字符串?

+0

什麼版本的SSIS? – 2013-02-25 01:56:30

回答

2

您不需要爲同一個數據庫建立多個連接。

在2008 SSIS:

這是有使用表達式的連接字符串中定義一個好主意。你可以這樣做:

假設你已經在連接管理器中添加了一個新的OLEDB連接。複製ConnectionString屬性的值。 IT將如下所示: Data Source =(local); Initial Catalog = Learn; Provider = SQLNCLI10.1; Integrated Security = SSPI; Application Name = SSIS-RaggedFile- {03053F2E-8101-4985-9F2B-8C2DDE510065}(local ).Learn; Auto Translate = False;數據源=(本地);初始目錄=學習;提供者= SQLNCLI10.1;集成安全性= SSPI;提供者= SQLNCLI10.1;集成安全性= SSPI;

現在在控制表面級創建三個新變量:sServer,sDb,sProvider。所有這三個變量的類型都是字符串。它們的值(使用此示例)將是(本地),Learn和SQLNCLI10.1。

返回到連接的ConnectionString屬性。並將其值設置爲

"Data Source=(local);Initial Catalog=Learn;Provider=SQLNCLI10.1;Integrated Security=SSPI;" 

現在,更換服務器,數據庫,並與您創建,使您的表達式中的變量提供商是這樣的:

"Data Source=" + @[User::sServer] + ";Initial Catalog=" + @[User::sDb] + ";Provider=" + @[User::sProvider] + ";Integrated Security=SSPI;" 

當我們從一個環境轉移到另外,我們可能會遇到不同版本的數據庫 - 因此,爲提供者提供一個變量也很有幫助。

現在,這些值可以在部署時進行更改。

在SSIS 2012 - 這種方法仍然可以適用於一點變化。將這三個變量更改爲參數並使其成爲必需。這樣,在部署部署時,您將被迫更改這些值。這只是一個起點。閱讀服務器環境。

注:我認爲一個變量應該有原子值。這有助於避免因錯誤輸入而導致的任何錯誤。這就是爲什麼我創建了三個單獨的變量,而不是有一個名爲sCnxn的變量(例如),並且有人在部署時更改了該變量的一部分。