Five Stars

シェルキックする際のパラメータについて

お世話になっております。

 

TalendであるDBを参照して、データが1件以上あったらシェルをキックするというジョブを作成しております。

(tDBInput→(main)→tJavaRow→(if)→tSSH)

 

DBからselectした結果をシェルをキックする際にパラメータとしてセットすることは可能でしょうか?

 

例えば、InputのDBのカラムは、No,コード,グループ,名称だとします。

シェルをキックする際に、No,コード,グループの値をパラメータとしてセットすることができますでしょうか?

それぞれのカラムは可変のため、tSSHのコマンドを記載する際に、べた書きはできないものとします。

 

対応方法がございましたら、どなたかお教えいただきたいです。

よろしくお願いいたします。

 

3 REPLIES
Highlighted
Moderator

Re: シェルキックする際のパラメータについて

@SU_ANNさん

 

例えば、tWaiteForSqlDataというコンポーネントを使うと、指定されたインターバル時間(秒単位)でDBテーブルへ該当データがあるかないかを見に行くことが出来ます。条件に合致した(SQLを発行します)データが見つかれば、次のコンポーネントに制御を移すことが可能です。また、このループは処理を継続するか、いちど実行できればループから抜けるかなども設定できます。

 

しかし、データの発生を認識する条件が都度異なるとなると、ちょっと要件に当てはめるのは難しいかもしれないですね。where句で指定するカラムが可変するという意図で理解しましたが正しいでしょうか?

 

waitforsqldata.JPG

 

 

---
Have fun!
Five Stars

Re: シェルキックする際のパラメータについて

ご返信ありがとうございます。

 

既に作成しているジョブで、where句をして

Five Stars

Re: シェルキックする際のパラメータについて

ご返信ありがとうございます。

既に作成済みのジョブではwhere句で条件を一部指定して、データは抽出しており、条件が都度異なります。
条件パターンが複数あるので、やはり難しいですよね…

また、データを抽出する際にwhere句で条件は絞らず、それぞれのカラムのデータをcontextなどにもって、シェルをキックする際に、それをパラメータとして渡すことはできますでしょうか?