私は独自のデータベースと通信するカスタムの「接続マネージャ」を使用しています。このオブジェクトのカスタムプロパティセクションのフィールドの1つは「DataQuery」と呼ばれ、もう一方の側で実行されるクエリを定義することができます。私は、スクリプトタスクで変数を設定する方法を知っていながらスクリプトタスクを使用してSSISコンポーネントのカスタムプロパティを設定する方法
私は、渡されたいくつかの変数を使用してオンザフライでSQLクエリを構築するために、いくつかのC#のロジックをScriptTaskを使用したい、など
問題があります、私は構文の(または可能であれば)カスタムプロパティ値を設定するのか分からない。
一部、擬似コードは次のようになります。事前に
MyConnectionManager.Properties["DataQuery"] = myQueryString;
ありがとう!
OK、少し明確にするために、本当に2つの部分があります。 「Geneva Source」という名前の「データフローソース」アイテムがあります(これは、第三者の会計システムであるGenevaに接続するためのものです)。サーバー、ポート、uname、pwなどを指定するConnection Manager要素があります。次に、Geneva Sourceコンポーネントには、期待するタブ(Connection Manager、コンポーネントのプロパティ、列のマッピング、入出力、出力のプロパティ)があります。コンポーネントプロパティには、共通プロパティとカスタムプロパティという2つのセクションがあります。このカスタムプロパティセクション内に "GenevaQuery"プロパティが存在します – enforge
このプロパティの値を変数に設定しようとすると、クエリ構文が無効であるというエラーがスローされます。 SSISは変数を適切に値で置き換えているようではありませんが、変数構文をGenevaに送信するだけで失敗します。だから私はスクリプトでこのプロパティを設定できる方法があることを望んでいました。 – enforge
実際のGenevaConnectionManagerコンポーネントの下では、式が表示され、ユーザー名、pw、接続文字列などを動的に設定できます。しかし...カスタム接続文字列の下でGenevaQueryのproeprtyや式のオプションを取得する方法はありません。 – enforge