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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Error pstmt_tDBOutput_1 cannot be resolved

Hi,

I'm trying to migrate data from SQL to PostgreSQL using Talend Open Studio 7.0.1

I created the empty tables at the destination.

Instead creating static components I created a metadata table with "list of tables" to be migrated from source to destination. The table also contains source table name and destination table name.

I used 'tFlowToIterate' to fetch source and destination table names to global variables and next used these global variable names in the 'tDBInput' and 'tDBOutput' but throws the below generic error and could not understand the issue.

 

However, it works when I try to hardcode the table names without using global variable but fails when using global variables.

Am I missing any step here?

 

Error:

Error in the component's properties0683p000009MAB6.pngstmt_tDBOutput_1 cannot be resolved
pstmt_tDBOutput_1 cannot be resolved
pstmt_tDBOutput_1 cannot be resolved
pstmt_tDBOutput_1 cannot be resolved to a variable
pstmt_tDBOutput_1 cannot be resolved
pstmt_tDBOutput_1 cannot be resolved to a variable
pstmt_tDBOutput_1 cannot be resolved

Labels (2)
36 Replies
fdenis
Master
Master

can you show job and bd components configuration.
Anonymous
Not applicable
Author

I have attached a word document which has screenshots of all components.


pstm_49.docx
fdenis
Master
Master

did you set any columns on row2?
I think you have set one column type dynamics.
Anonymous
Not applicable
Author

Nope, I did not define any column in row2.

I guess I found the issue but not a solution or workaround.

 

When I modify the 'tFlowToIterate' to get only one execution it succeeds but fails when it iterates more times.

This is because when three records are coming from iterator where each record gets a different set of columns to the tDBInput, however, row2 seems to have a static list of columns and is not refreshing with new columns and throws error.

 

Since the destination DB is already having all the tables defined and is not dependent on source DB schema, Is it possible to refresh the schema of row2 in each iteration?

 

Thanks,

Deepa

fdenis
Master
Master

start by setting row2.column1 as Dynamics
it must solve your problem.

if it's not suffisant creat a new job with contexts values fieldsList TableName
use tRunJob to set contexe (globalMap) and run this job
this is the best way you can alow paralel run with it.
good luck
Anonymous
Not applicable
Author

Any lead which can help me set row2.column1 as dynamic.

I checked all options in row2 configuration but did not find to set the values dynamically.

 

Thanks

Deepa

fdenis
Master
Master

dynamic is a type.
are you on the open version?
if yes you did not have this type.
but you can generate from source db one String who is an insert statements and run this insert query on the destination db.
Anonymous
Not applicable
Author

@fdenis

Thank you for the suggestion.

Yes, I'm using open studio and do not see this option. I recently started working with TOS 7.0.1.

 

Could you share any reference or more information on how to start with your idea?

fdenis
Master
Master

Select CONCAT ('Insert into Talbe1 (field1,field2) values (', field1, ', ', field2, ')' from Table1
the row1,sqlString have to be executed on destination db