sql >> Databáze >  >> RDS >> Oracle

PreparedStatement se úspěšně spouští v oracle, ale vyvolává výjimku v Microsoft SQL

Odpověď je ve zprávě - ExecuteQuery vyžaduje sadu výsledků. Použijte executeUpdate místo toho.

Z výše uvedeného odkazu:

  • boolean execute() Provede příkaz SQL v tomto objektu PreparedStatement, což může být jakýkoli druh příkazu SQL.

  • ResultSet executeQuery() Provede dotaz SQL v tomto objektu PreparedStatement a vrátí objekt ResultSet vygenerovaný dotazem.

  • int executeUpdate() Provede příkaz SQL v tomto objektu PreparedStatement, což musí být příkaz SQL INSERT, UPDATE nebo DELETE; nebo příkaz SQL, který nic nevrací, například příkaz DDL.

skutečnost, že to funguje na oracle, je pravděpodobně jen vedlejší efekt, na který, jak jste zjistili, se nelze spolehnout.



  1. přidání balíčku RMySQL do R se nezdaří (ve Windows)?

  2. Mohu přepnout „připojeného“ uživatele v rámci skriptu SQL, který pochází z mysql?

  3. Jak zkombinovat dva řádky a vypočítat časový rozdíl mezi dvěma hodnotami časového razítka v MySQL?

  4. Chyba při načítání modulu MySQLdb:libmysqlclient.so.20:nelze otevřít soubor sdíleného objektu:Žádný takový soubor nebo adresář