Saltar al contenido

Controlador JDBC de Postgres: PSQLException: error de sintaxis en o cerca de RETORNO

Siéntete libre de divulgar nuestra web y códigos con otro, apóyanos para hacer crecer nuestra comunidad.

Solución:

La forma más fácil en que lo hice fue agregar “;–” al final del código sql:

String sql = "INSERT INTO testTable(var1, var2) values ("1","2"), ("1","2") RETURNING id;--";

PreparedStatement ps = getConnection().prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.executeUpdate();
ResultSet rs = ps.getGeneratedKeys();

Esto parece un problema con sql2o. Los comentarios en el informe de errores dicen:

Al usar PostgreSQL, todas las declaraciones SELECT fallarán con el mensaje: org.postgresql.util.PSQLException: ERROR: error de sintaxis en o cerca de “RETORNO”

Parece estar relacionado con este problema.

Esto se ha solucionado con la versión 1.1.2.

La solución requiere que el indicador de enumeración QuirkMode se establezca en PostgreSQL al crear una nueva instancia de sql2o. Cambia el comportamiento predeterminado de las consultas para NO obtener las generadas keys por defecto. Cuando se necesita recuperar generado keysse debe establecer el parámetro returnGeneratedKeys en el método generateQuery.

Desde Sql2o 1.6.0, incluya la dependencia sql2o-postgres y use new PostgresQuirks() en vez de QuirksMode.

Comentarios y valoraciones

Al final de todo puedes encontrar las notas de otros programadores, tú asimismo puedes mostrar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *