我正在使用JdbcTemplate.queryForInt将一行插入数据库,然后重新获取该ID。
查询为"INSERT INTO metadocs(NAME) values (?) RETURNING METADOCID"
。如果我在Flamerobin中运行语句,它可以正常工作。
但是,如果我从Java运行它,我会收到以下错误:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO metadocs(NAME) values (?) RETURNING METADOCID]; SQL state [HY000]; error code [335544364]; GDS Exception. 335544364. request synchronization error; nested exception is org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544364. request synchronization error
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544364. request synchronization error
有没有人知道这可能是由什么造成的?
答案 0 :(得分:0)
与Oracle不同,我不确定Jaybird JDBC driver是否支持RETURNING
语法。或者,您可以查看getGeneratedKeys()
方法,讨论here。