2011-06-09 3 views
3

デザイン時にパッケージ変数を読み込もうとしています。SSISカスタムコンポーネント:デザイン時に変数にアクセスする

IDTSVariables variables = null; 
pipelineComponent.VariableDispenser.LockForRead("MyVariable"); 
pipelineComponent.VariableDispenser.GetVariables(out variables); 

しかし、設計時間の間に、私はPipelineComponentを持っていないと私は私にVariableDispenserを与える任意のオブジェクトを見つけることができません:私はかなり簡単に実行時にそれを行うことができると思います。

私はIDtsVariableServiceクラスを見てきましたが、新しい変数の作成を容易にするヘルパーUIのみを提供しているようです。既存の変数を読みたいと思います。

答えて

4

私はそれがIDtsPipelineEnvironmentServiceクラスだった、近くにあったが判明:

Variables vars = null; 

IDtsPipelineEnvironmentService pipelineService = (IDtsPipelineEnvironmentService)serviceProvider_.GetService(typeof(IDtsPipelineEnvironmentService)); 
pipelineService.PipelineTaskHost.VariableDispenser.LockForRead("VARIABLE_NAME"); 
pipelineService.PipelineTaskHost.VariableDispenser.GetVariables(ref vars); 
VARIABLE = vars[0].Value.ToString(); 
vars.Unlock(); 
関連する問題