sql >> Databasteknik >  >> RDS >> Oracle

Hur man skriver / uppdaterar Oracle blob på ett tillförlitligt sätt?

Det är mycket enklare:

PreparedStatement pstmt =
  conn.prepareStatement("update blob_table set blob = ? where id = ?");
File blob = new File("/path/to/picture.png");
FileInputStream in = new FileInputStream(blob);

// the cast to int is necessary because with JDBC 4 there is 
// also a version of this method with a (int, long) 
// but that is not implemented by Oracle
pstmt.setBinaryStream(1, in, (int)blob.length()); 

pstmt.setInt(2, 42);  // set the PK value
pstmt.executeUpdate();
conn.commit();
pstmt.close();

Det fungerar på samma sätt när du använder en INSERT-sats. Inget behov av empty_blob() och en andra uppdatering.



  1. SQL - Fråga för att få serverns IP-adress

  2. Linq väljer intervall av poster

  3. Hitta rader som har samma värde i en kolumn och andra värden i en annan kolumn?

  4. MySQL beräkna procentandelen av två andra beräknade summor inklusive en grupp per månad