2012-04-24 42 views
3

我想從C#應用程序運行一個dts包。不過,我需要動態更改其連接字符串。我看了一下網頁,發現我應該使用Package對象的Variables屬性。事情是,我的Visual Studio 2010不顯示該包的Variables屬性。我正在使用的命名空間是如何在運行時從.NET應用程序更改DTS包中的連接字符串?

using Microsoft.SqlServer.Dts.Runtime; 
using Microsoft.SqlServer.Dts.Runtime.Wrapper; 

我該怎麼辦?

+0

請不要用 「C#」 和這樣的前綴您的圖書。這是標題的作用。 – 2012-05-12 03:10:56

+0

@JohnSaunders - 哈?這就是_tags_的目的? – 2012-08-09 14:28:24

+1

@KennyEvitt:我想我們甚至 - 我不知道你在說什麼,我想,既然你在迴應我四個月前的評論,你不知道我是什麼指的是。 – 2012-08-09 14:32:25

回答

2

你真的認爲DTS(SQL2000)或其更新的兄弟SSIS嗎?無論如何,我有一個類似的問題,我必須指定一個包的多個動態連接。我的方式解決它是這樣的:

從來電: - 寫一個SQL表中的兩列: - 「密鑰」列是針對 的特定連接 - 「值」列是新的連接值

包的內裏: - 使用SQL任務讀取鍵/值對到@user ::變量 - 使用腳本任務將得到一個處理本身的運行實例 - >分配連接字符串通過此句柄

DTS示例:

' Get a reference to self (the DTS package currently running) 
Set oPkg = DTSGlobalVariables.Parent 

' Get connection to Input File - Set Path 
Set oCn = oPkg.Connections.Item ("MasterFileIn") 
oCn.DataSource = workAreaPath & "MasterFile.txt" 

SSIS不允許訪問活動包對象,但您可能能夠直接設置連接。在您的ScriptMain.cs文件:

ConnectionManager cm = Dts.Connections["MasterFileIn"]; 
cm.ConnectionString = Dts.Variables["DataSource"].Value; 
+0

請參閱「[應該'嗨','謝謝''標語和致敬辭職](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations -be-刪除 - 從 - 個)」。 – 2012-05-12 03:12:40

相關問題