Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
I am working with thingworx 9.5.
I want to use the insert into sql database command. I want to have the database I want to insert the data into as a variable input, but this doesn't seem to be possible. I made an example of how I am trying it but I keep receiving errors:
insert into [[Table]] (logid,message,source,category,servicename,level,country)
values ([[LogID]],[[Message]],[[Source]],[[Category]],[[ServiceName]],[[Level]],[[Country]]);
When I change the [[Table]] parameter by the name of the db, all is fine.
error returned is:
Execute Update failed: org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1" Position: 13
Does anyone have a workaround for this?
Kind regards
Solved! Go to Solution.
try to replace [[]] with <<>>, at least for the table part.
try to replace [[]] with <<>>, at least for the table part.
That made it work! I just can't find much documentation about these things. Thank you
Check on https://www.ptc.com/en/support/article/CS289219 and
JDBC is trying to make a Prepared Statement from it with the box brackets, but that only works with the values in the statement, because then it can be parsed ahead of time. This won't work with the table name being dynamic.
The <<>> is more flexible, but also allows you to send ANYTHING to the database (think SQL injection attack). So be careful.