La respuesta está en el mensaje:ExecuteQuery requiere un conjunto de resultados. Utilice executeUpdate en su lugar.
Del enlace anterior:
-
ejecución booleana() Ejecuta la instrucción SQL en este objeto PreparedStatement, que puede ser cualquier tipo de instrucción SQL.
-
Conjunto de resultados ejecutar consulta() Ejecuta la consulta SQL en este objeto PreparedStatement y devuelve el objeto ResultSet generado por la consulta.
-
int ejecutarActualizar() Ejecuta la instrucción SQL en este objeto PreparedStatement, que debe ser una instrucción SQL INSERT, UPDATE o DELETE; o una declaración SQL que no devuelve nada, como una declaración DDL.
el hecho de que funcione en Oracle es probablemente solo un efecto secundario en el que descubrió que no se puede confiar.