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: 
benu
Contributor III
Contributor III

[resolved] tMySQLOutput creates table but does not insert rows

I've got a simple job that extracts 7 rows using a tSalesforceInput and sends that data to a tMySQLOutput. I have the tMySQLOutput set to "Drop table if exists and create" and "Action on data" is "Insert". The chain of components is like this:
tSalesforceConnection --OnSubjobOk--> tMySQLConnection --OnSubjobOk--> tSalesforceInput --main--> tMySQLOutput --main--> tLogRow
The connections succeed. The Salesforce query succeeds. The table gets created in the MySQL DB. However, the rows do not get inserted. I also get all rows output to the tLogRow.
I've checked permissions for the MySQL user account - they seem correct. They're obviously good enough to create a table, and I see I've granted all the other DML rights, too (INSERT, DELETE, EXECUTE, etc. - all of them). I've also executed an insert using the MySQLWorkbench client, which succeeded - from the same client workstation upon which I run the Talend job in-question.
I'm stumped - any suggestions out there? Thanks in-advance.
-Ben
Labels (3)
1 Solution

Accepted Solutions
benu
Contributor III
Contributor III
Author

Solved. This was pretty damn infuriating. It turned out to be the "Auto Commit" setting on the tMySQLConnection component. It's off by default, and if you don't set it, any components that use the connection will not commit their transactions.
There went a whole day of troubleshooting. Anyway, glad I found this post:
https://community.talend.com/t5/Design-and-Development/tMysqlOutput-doesn-t-populate-table-if-using-...
Thanks zootal and alevy!
-Ben

View solution in original post

3 Replies
benu
Contributor III
Contributor III
Author

Solved. This was pretty damn infuriating. It turned out to be the "Auto Commit" setting on the tMySQLConnection component. It's off by default, and if you don't set it, any components that use the connection will not commit their transactions.
There went a whole day of troubleshooting. Anyway, glad I found this post:
https://community.talend.com/t5/Design-and-Development/tMysqlOutput-doesn-t-populate-table-if-using-...
Thanks zootal and alevy!
-Ben
Anonymous
Not applicable

Thanks, I had the exact same problem, and this solved it.
Anonymous
Not applicable

Thanks you all,
I faced the same issue and it's resolved now.