[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
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
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