how print a query for debugging

One Star

how print a query for debugging

Hi to all.
I have an error writing into my AS400 db, but I can't find what's wrong in my job.
I tried to print the sql statement (System.out.println(((String)globalMap.get("tAS400Output_1_QUERY")))Smiley Wink but it's null.
How can I debug my job?
All fields have the same type and lenght.
Help me please.
Exception in component tAS400Output_1
java.lang.RuntimeException: Execution failure, there might be an error in your SQL syntax.
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tMSSqlInput_1Process(Corsi_Formazione.java:3071)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tMSSqlConnection_1Process(Corsi_Formazione.java:701)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tRunJob_1Process(Corsi_Formazione.java:579)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.runJobInTOS(Corsi_Formazione.java:5237)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.runJob(Corsi_Formazione.java:5097)

Thanks

Gisella
Community Manager

Re: how print a query for debugging

Hi
I tried to print the sql statement (System.out.println(((String)globalMap.get("tAS400Output_1_QUERY")))wink but it's null.

It is normal, because we don't set a value to global variable globalMap.get("tAS400Output_1_QUERY"), so it is null.
If you know Java, you can go to the debug model and print the query.
Best regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Seven Stars

Re: how print a query for debugging

So can I ask why globalMap.get("tAS400Output_1_QUERY") exists at all if it's never populated? Is that the case for all tOutput components: that their tOutput_1_QUERY globalMap variable is not populated? (Also see this post).
One Star

Re: how print a query for debugging

Thanks Shong.
I printed the query as you show me, I filled and executed it manually: all works.
But still I have some talend exception
Exception in component tAS400Output_1
java.lang.RuntimeException: Execution failure, there might be an error in your SQL syntax.
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tMSSqlInput_1Process(Corsi_Formazione.java:2134)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tAS400Connection_2Process(Corsi_Formazione.java:552)
at cps_corsi.corsi_formazione_0_1.Corsi_Formazione.tMSSqlConnection_2Process(Corsi_Formazione.java:3293)
I found that this error is throws when is used an existing connection.
Specifying the connection params all works well.
May be it's a bug? I'm using talend 3.2.2.
Gisella

What’s New for Talend Spring ’19

Join us live for a sneak peek!

Sign up now

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch

Downloads and Trials

Test drive Talend's enterprise products.

Downloads