2011-06-24 13 views
0

私は独自のデータベースと通信するカスタムの「接続マネージャ」を使用しています。このオブジェクトのカスタムプロパティセクションのフィールドの1つは「DataQuery」と呼ばれ、もう一方の側で実行されるクエリを定義することができます。私は、スクリプトタスクで変数を設定する方法を知っていながらスクリプトタスクを使用してSSISコンポーネントのカスタムプロパティを設定する方法

私は、渡されたいくつかの変数を使用してオンザフライでSQLクエリを構築するために、いくつかのC#のロジックをScriptTaskを使用したい、など

問題があります、私は構文の(または可能であれば)カスタムプロパティ値を設定するのか分からない。

一部、擬似コードは次のようになります。事前に

MyConnectionManager.Properties["DataQuery"] = myQueryString; 

ありがとう!

答えて

0

カスタム接続マネージャに関する詳細情報がありますか?通常、クエリは接続マネージャ自体の一部ではありません。

おそらく、あなたがすることができます:

は、変数にカスタムクエリを割り当てるには、スクリプトタスクを使用します。カスタム接続文字列のプロパティで

スクリプトタスク

OR

で作成した変数を使用して、対応する表現の下での特性

の下に「Dataquery」を検索表現に

を拡大

Connectionstringプロパティを選択し、スクリプトタスクで作成された変数を使用して接続文字列を式として構築します

+0

OK、少し明確にするために、本当に2つの部分があります。 「Geneva Source」という名前の「データフローソース」アイテムがあります(これは、第三者の会計システムであるGenevaに接続するためのものです)。サーバー、ポート、uname、pwなどを指定するConnection Manager要素があります。次に、Geneva Sourceコンポーネントには、期待するタブ(Connection Manager、コンポーネントのプロパティ、列のマッピング、入出力、出力のプロパティ)があります。コンポーネントプロパティには、共通プロパティとカスタムプロパティという2つのセクションがあります。このカスタムプロパティセクション内に "GenevaQuery"プロパティが存在します – enforge

+0

このプロパティの値を変数に設定しようとすると、クエリ構文が無効であるというエラーがスローされます。 SSISは変数を適切に値で置き換えているようではありませんが、変数構文をGenevaに送信するだけで失敗します。だから私はスクリプトでこのプロパティを設定できる方法があることを望んでいました。 – enforge

+0

実際のGenevaConnectionManagerコンポーネントの下では、式が表示され、ユーザー名、pw、接続文字列などを動的に設定できます。しかし...カスタム接続文字列の下でGenevaQueryのproeprtyや式のオプションを取得する方法はありません。 – enforge

関連する問題