2016-07-25 6 views
0

SSIS SQL Server OLEDBソースコンポーネントのLIKE句でパラメータを使用するための正しい構文を見つけることができません。私は、ファイルをエクスポートするforループを実行したいLIKEクエリでSSISパラメータを使用する

╔═══════════════╗ 
║ TeamMembers ║ 
╠═══════════════╣ 
║ A - Joe  ║ 
║ A - Melissa ║ 
║ B - Frank  ║ 
║ C - Angela ║ 
║ A - Luis  ║ 
║ C - Ashley ║ 
║ B - Sam  ║ 
╚═══════════════╝ 

:単一の文字列(それは愚かだ、私が知っている)として簡単な例では、チームやチームメンバーをリスト、以下の単一列テーブル「tblTeams」を考えますチームあたりのメンバー数ループには、 "A"、 "B"、 "C"などのチーム名の配列からの入力変数があります。その変数をOLE DBソースのパラメータとして使用して、チームメンバーをそのように選択したい:

ただし、ここでの構文は、パラメータのプレースホルダを疑問符文字列と見なします。プレースホルダを外側に移動すると、LIKE句が壊れます。 LIKEでSSISパラメータを使用することは可能ですか?

+0

findstring関数を使用する必要があります。http://stackoverflow.com/questions/4739230/is-it-possible-to-perform-a-like-statement-in-a-ssis-expression – niketshah90

+2

try SELECT [ TeamMembers]どこから[TeamMembers]のようなtblTeams? + '%' –

+0

@ChintuS FINDSTRINGは、式ではなくSQLクエリを記述しているため、ここでは直接適用できません。しかし、良い提案、ありがとう。 – BradV

答えて

1

私たちは利用できますか?文字列データ型にマップします。

IE SELECT [TeamMembers] FROM tblTeams WHERE [TeamMembers]はと同じですか? + '%'

As?適切なデータ形式で自動的に変換されます。

2

変数を作成SQL_Select Stringを入力し、この変数に式"SELECT [TeamMembers] FROM tblTeams WHERE [TeamMembers] LIKE '" + [User::TeamMemberName] + "%'"を定義します。ここで私はあなたがOLE DBソースコンポーネントに続いて、上述のparam A、BまたはC
と変数TeamMemberName String型を使用を想定 - 変数広告データアクセスモードからSQLコマンドを設定し、ユーザーを選択:: SQL_Selectに変数名のドロップダウン。

関連する問題