Oracle
 sql >> Database >  >> RDS >> Oracle

PreparedStatement eseguito correttamente in Oracle ma genera un'eccezione in Microsoft SQL

La risposta è nel messaggio:ExecuteQuery richiede un set di risultati. Usa executeUpdate invece.

Dal link sopra:

  • esecuzione booleana() Esegue l'istruzione SQL in questo oggetto PreparedStatement, che può essere qualsiasi tipo di istruzione SQL.

  • ResultSet executeQuery() Esegue la query SQL in questo oggetto PreparedStatement e restituisce l'oggetto ResultSet generato dalla query.

  • int executeUpdate() Esegue l'istruzione SQL in questo oggetto PreparedStatement, che deve essere un'istruzione SQL INSERT, UPDATE o DELETE; o un'istruzione SQL che non restituisce nulla, ad esempio un'istruzione DDL.

il fatto che funzioni su Oracle è probabilmente solo un effetto collaterale su cui non puoi fare affidamento.