[亚马逊](500310)操作无效:“S”RedShift错误或附近的语法错误

时间:2017-07-06 21:08:02

标签: java lambda amazon-redshift

我和我的团队在执行时遇到了这个问题,我们的Lambda函数将我们的json数据从Amazon S3插入Redshift。我们继续收到此错误

java.sql.SQLException: [Amazon](500310) Invalid operation: syntax error at or near "S"

这是我们执行的用于运行查询的代码,该查询正在构建到String Builder中。

sql.append("Insert into comparison values ('" + d_timestamp + "','" + d_category + "','" + d_modification_method 
+ "','" + d_match + "','" + d_operator_name + "','" 
+ d_operator_email + "','" + d_datpoint + "','" + d_datapointcontent + "');");

在我们遇到这个之前,似乎所有其他SQL命令都没问题。不知道这个错误在哪里以及它是什么。非常感谢任何帮助

1 个答案:

答案 0 :(得分:3)

最有可能的是你正在点击从单引号中逃脱的数据。 不要通过附加字符串来创建sql语句,你会遇到这个问题,你会接受SQL注入攻击,以及一些我现在懒得查看的其他问题:p

你最好建立一个PreparedStatement:https://www.mkyong.com/jdbc/jdbc-preparestatement-example-insert-a-record/

您当天的轶事:始终100%使用PreparedStatements。