Die Antwort ist in der Nachricht - ExecuteQuery erfordert eine Ergebnismenge. Verwenden Sie executeUpdate stattdessen.
Von obigem Link:
-
boolean execute() Führt die SQL-Anweisung in diesem PreparedStatement-Objekt aus, die jede Art von SQL-Anweisung sein kann.
-
ResultSet executeQuery() Führt die SQL-Abfrage in diesem PreparedStatement-Objekt aus und gibt das von der Abfrage generierte ResultSet-Objekt zurück.
-
int executeUpdate() Führt die SQL-Anweisung in diesem PreparedStatement-Objekt aus, die eine SQL INSERT-, UPDATE- oder DELETE-Anweisung sein muss; oder eine SQL-Anweisung, die nichts zurückgibt, wie z. B. eine DDL-Anweisung.
Die Tatsache, dass es auf Oracle funktioniert, ist wahrscheinlich nur ein Nebeneffekt, auf den Sie sich nicht verlassen können.