2017-02-03 11 views
1

私が必要とする特定の状況について有用な文書が見つかりません。 SQL ServerにデプロイされたSSISパッケージに変数を起動して渡そうとしています。C# - wpfアプリケーションからSQL Server上でSSISを実行する

管理スタジオでは、パッケージはIntegration Services Catalog\SSISDB\IhsDataSync\Projects\LoadHeader\Packages\Package.dtsxにあります。私が見つけた情報源から、Microsoft.SqlServer.Dts.Runtime;アセンブリを使用する必要があるようです。私がコードの残りの部分を書くときは、何千もの質問があります。

これまでのところ私が持っている:

  try 
     { 
      Application app = new Application(); 
      Package package = null; 

      package = app.LoadFromSqlServer("SSISDB\IhsDataSync\Projects\LoadHeader\Packages\Package.dtsx","servername","username","password",IDTSEvents); 
     } 
     catch 
     { 

     } 

例のほとんどは最初のメソッドのパラメータが非常に明白であり、その場合には、ローカルパッケージをロードする方法を示しています。 SQL Server上でパッケージを使用するためのパスは何ですか?

LoadFromSqlServer()の最後のパラメータは何ですか?> IDTSEvents ??? 変数を挿入するにはどうすればよいですか?

答えて

0

シェルからdtexecを呼び出すことはできますか? このアプローチを使用すると、純粋なプログラムによるアプローチで得られる例外フックは失われますが、ssis変数に値を渡すことは/ SET と同じくらい簡単です。成功のための戻りコードを調べることはできます。 回避策として行う可能性があります。

0

実行前に変数に値を割り当てる方法について質問していますか?その場合、それぞれのDtsContainer(またはその子)オブジェクトを使用して変数にアクセスし、その値を特定の変数に割り当てることができます。

パッケージ自体の名前空間 "User"に "ABC"という名前の変数があるとします。あなたの変数は子コンテナやタスクに関連付けられている場合、あなたはそのsepcificコンテナ/タスクへの参照を取得し、その後、上記の例のように変数のプロパティにアクセスすることができます

package = app.LoadFromSqlServer("SSISDB\IhsDataSync\Projects\LoadHeader\Packages\Package.dtsx","servername","username","password", idtsEvents); 
package.Variables["User::ABC"].Value = <value of approproate type> 

:あなたはこれを行うことができます。

LoadFromSqlServerの最後のパラメータは、Load呼び出しの一部として発生する可能性のあるイベントにアクセスするためのものです。

関連する問題