Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

[resolved] Running Talend jobs parallelly

Hi All,
I tried to run two sub jobs in parallel as shown in the image. Both the tOracleOutput components
are connecting to different tables in the same database(but they do not use a tOracleConnection).
Then I checked the 'Multi thread execution' option in the Run View of the job and started running the job.
Only one of the jobs ran successfully and the other failed with the following error. Does anyone has a solution for this?
Exception in component tOracleOutput_3
java.sql.SQLException: Invalid number format for port number
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:197)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:525)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.data_mig_demo_0_1.DATA_MIG_DEMO.tOracleInput_4Process(DATA_MIG_DEMO.java:5885)
at test.data_mig_demo_0_1.DATA_MIG_DEMO$3.run(DATA_MIG_DEMO.java:7176)
Caused by: oracle.net.ns.NetException: Invalid number format for port number
at oracle.net.resolver.AddrResolution.resolveSimple(AddrResolution.java:499)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:396)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:630)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:206)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 8 more
0683p000009ME6r.png
Labels (4)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Hi,
Could you please try to add another tSetGlobalVar_3 in your tOracleOutput_3 subjob with same setting(Host, port...)so that in case that tOracleOutput_3 can not get the global variable when the whole job is under the condition of Multi thread execution. (The 3 subjobs will be executed in a same time).
Best regards
Sabrina

View solution in original post

14 Replies
Anonymous
Not applicable
Author

Hi,
Have you already checked your input parameter in tOracleOutput_3? Did you add port or is your port correct?
Best regards
Sabrina
Anonymous
Not applicable
Author

Yes, my port is correct and this works file when 'multi thread execution' is unchecked. I read the database configurations (including the port) from a property file and save it in globalMap and utilize them. I have attached my whole job.
0683p000009MEIN.png
Anonymous
Not applicable
Author

Hi,
Could you please use tlogrow instead of tOracleOutput_3 to see if this subjob works?
Best regards
Sabrina
Anonymous
Not applicable
Author

Hi Sabrina,
I tried it with tLogRow instead of tOracleOutput_3 and now it works (with 'Multi thread execution' enabled). I wonder how it happens. Could you please explain it for me?
Thanks,
Thivanka.
Anonymous
Not applicable
Author

hi all,
can we see what are parameters in your Oracle output (the errored one) ?
regards
laurent
Anonymous
Not applicable
Author

I have attached my basic settings and advanced settings.
0683p000009MEW3.png 0683p000009MEO2.png
Anonymous
Not applicable
Author

Hi,
From your screenshot, it seems you mask your oralce info with variable? Is it working well when you input DB parameter directly instead of using variable?
Have you checked component reference TalendHelpCenter:tSetGlobalVar
Did you press Ctrl Space bar on your keyboard and select the relevant global parameter? ((String)globalMap.get(?targetDBHost?))?
Best regards
Sabrina
Anonymous
Not applicable
Author

Hi Sabrina,
Yes, it worked parallely when I directly use the DB parameters instead using variable. I cant figure out why it does not work once I use the variables.
Yes, I pressed CTRL+SPACE and selected it.
To add that it works when I uncheck the 'Multi Thread Execution' option with variables in the configurations. The error comes only when I check that option.
Anonymous
Not applicable
Author

Hi,
Should it be ((String)globalMap.get(?targetDBHost?)) in variable list? Why there is missing start/end quote in your screenshot?
Best regards
Sabrina
0683p000009MERs.png