Using dictionary variable in the query

Hi all,

Could you please give me advice concerning to the using dictionary variable in the “where” clause of the query in DB Input Table component.

I don’t know which format is ?

Thanks a lot
in advance

Hi all,

Could you please give me advice concerning to the using dictionary variable in the “where” clause of the query in DB Input Table component.

I don’t know which format is ?

Thanks a lot
in advance

“sergii.chukhno”

Please close this topic. I have resolved this problem.

Thanks.

Hi Sergii,

Unfortunately using dictionary in DbInputTable is not supported.

Instead please:
* prepend DataGenerator in front of DbInpuitTable and set it to produce exactly one record
* in transformation of DataGenerator generate your SQL query using http://doc.cloveretl.com/documentation/ … -ctl2.html
* connect DataGenerator and DbInputTable via edge using metadata containing at least single string field (containing SQL query)
* set DbInputTable to read data from input port; see input port section of http://doc.cloveretl.com/documentation/ … table.html for details

Please let me know if you have further questions.

Hi Kubosj,

I have resolved it by added ExtFilter after DbInputTable component and posted there condition with dictionary entry.

Thanks a lot.

Is this still true in the current version?

I have many graphs that I set up with parameters. Most of those use the parameters in the where clause of SQL queries. If I want to convert these to Launch Services on my CloverETL server, do I have to convert all of those parameters to dictionary entries, or is there another way?

Thanks for any suggestions.

-Paul

Hi Sergii,

Unfortunately using dictionary in DbInputTable is not supported.

Instead please:
* prepend DataGenerator in front of DbInpuitTable and set it to produce exactly one record
* in transformation of DataGenerator generate your SQL query using http://doc.cloveretl.com/documentation/ … -ctl2.html
* connect DataGenerator and DbInputTable via edge using metadata containing at least single string field (containing SQL query)
* set DbInputTable to read data from input port; see input port section of http://doc.cloveretl.com/documentation/ … table.html for details

Please let me know if you have further questions.

“kubosj”

Hi Paul,

This is still true in the current version of CloverETL, unfortunately, dictionaries are not supported in DBInputTable. On a side note, if you are using CloverETL 4.7 we introduced an improved version of Launch Services called Data Services. If you would like to know more I have added a few links that explain how it works.

Data Service Documantation

Data Service Blog