sql >> Databasteknik >  >> RDS >> Oracle

Hur placerar jag stora (eller åtminstone icke-triviala) BLOBs i Oracle med JDBC?

Jag tror inte att du kan uppdatera eller infoga i en BLOB/CLOB med JDBC i ett enda steg (för data> 4k). Från detta exempel från Oracle , det verkar som om du behöver:

  1. Infoga en tom LOB med SQL-funktionen empty_clob()
  2. Välj för att uppdatera den LOB du har infogat
  3. hämta LOB i java med ResultSet.getBlob() hämta sedan utdataströmmen med blob.setBinaryStream (eftersom oracle.sql.BLOB.getBinaryOutputStream() är utfasad)
  4. skriv till denna utdataström
  5. stäng utdataströmmen när du är klar

Du skulle göra något liknande i Pl/SQL (VÄLJ FÖR ATT UPPDATERA en LOB och skriv sedan till den).



  1. jdbc batchprestanda

  2. betalningsfördelning oracle sql-fråga

  3. Varför anser PostgreSQL serialiserbar transaktion att detta är en konflikt?

  4. MySQL uppdaterar en sammanfogad tabell