Отговорът е в съобщението - ExecuteQuery изисква набор от резултати. Използвайте executeUpdate вместо това.
От връзката по-горе:
-
boolean execute() Изпълнява SQL израза в този обект PreparedStatement, който може да бъде всякакъв вид SQL израз.
-
ResultSet executeQuery() Изпълнява SQL заявката в този обект PreparedStatement и връща обекта ResultSet, генериран от заявката.
-
int executeUpdate() Изпълнява SQL оператора в този обект PreparedStatement, който трябва да бъде SQL оператор INSERT, UPDATE или DELETE; или SQL израз, който не връща нищо, като например DDL израз.
фактът, че работи на Oracle, вероятно е просто страничен ефект, на който сте открили, че не може да се разчита.