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

Hvordan placerer jeg store (eller i det mindste ikke-trivielle) BLOB'er i Oracle med JDBC?

Jeg tror ikke, du kan opdatere eller indsætte i en BLOB/CLOB med JDBC i et enkelt trin (for data> 4k). Fra dette eksempel fra Oracle , det ser ud til, at du skal:

  1. Indsæt en tom LOB med SQL-funktionen empty_clob()
  2. Vælg for at opdatere den LOB, du har indsat
  3. hent LOB i java med ResultSet.getBlob() få derefter outputstrømmen med blob.setBinaryStream (siden oracle.sql.BLOB.getBinaryOutputStream() er forældet)
  4. skriv til denne outputstrøm
  5. luk outputstrømmen, når du er færdig

Du ville gøre noget lignende i Pl/SQL (VÆLG FOR AT OPDATERE en LOB, og skriv derefter til den).



  1. forespørgsel for at finde alle kolonner i en tabel uden værdi i den

  2. Mange-til-mange i sqlalchemy. Forhindrer SQLAlchemy i at indsætte i en tabel, hvis et tag allerede eksisterer

  3. kan ikke udtrække elementer fra en skalar

  4. Hvordan kan jeg registrere overflødige rækker i tabellen?