2012-04-24 10 views
3

C#アプリケーションからdtsパッケージを実行しようとしています。私は動的に接続文字列を変更する必要があります。私はWebを見て、PackageオブジェクトのVariablesプロパティを使うべきであることを発見しました。つまり、私のVisual Studio 2010は、パッケージのこのVariables属性を表示しません。私が使用している名前空間は、実行時にDTSパッケージの接続文字列を.NETアプリケーションから変更する方法は?

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

私は何をすべきでしょうか?

+0

"のC#" などを使用してタイトルを接頭辞ないでください。それがタイトルです。 –

+0

@JohnSaunders - huh?それは_tags_のためのものですか? –

+1

@ケニーエビット:私たちはあなたが何を指しているのか分からないと思います。私は4ヶ月前から私のコメントに答えているので、を参照してください。 –

答えて

2

本当にDTS(SQL2000)またはそれより新しい兄弟のSSISを意味していますか?いずれにせよ、私はパッケージに複数の動的接続を指定しなければならない同様の問題を抱えていました。 - 「キー」欄には を対象とする特定の接続だった - 「値」欄には、新しい接続した: - :

、発信者から:SQLテーブルに2つの列を書く 私はそれがこのだった解決方法パッケージ内の値

: - @user ::変数 にキー/値のペアを読み取るためにSQLタスクを使用してください - 自分自身の実行中のインスタンスへのハンドルを取得するには、スクリプトタスクを使用し - > [接続の割り当てこのハンドルを通る文字列

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)を参照してください。削除された投稿から)」 –

関連する問題