Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Java:Membaca Blob dari Oracle

Anda dapat memperoleh objek InputStream melalui ResultSet.getBinaryStream() metode.

PreparedStatement prepareStatement = con.prepareStatement("select * from SMD_DATESTREEMAP");
ResultSet rs=prepareStatement.executeQuery();
      
while(rs.next())
{
   oracle.jdbc.driver.OracleBlobInputStream bos = (oracle.jdbc.driver.OracleBlobInputStream) rs.getBinaryStream(2) ;
       
   ObjectInputStream out = new ObjectInputStream(bos);
      
   map = (TreeMap<DateTime, Integer>) out.readObject();
   ...
}

Anda dapat menulis array byte alih-alih aliran biner.

ByteArrayOutputStream bos = new ByteArrayOutputStream() ;
ObjectOutputStream out = new ObjectOutputStream(bos);
out.writeObject(map);
out.flush();
out.close();
byte[] buf = bos.toByteArray();
      
PreparedStatement prepareStatement = con.prepareStatement("INSERT INTO SMD_DATESTREEMAP VALUES(?,?)");
prepareStatement.setInt(1, 1);
prepareStatement.setBytes(2, buf);
prepareStatement.executeUpdate();
prepareStatement.close();

dan baca larik byte:

while(rs.next())
{ 
    byte []buf=rs.getBytes(2);
    ByteArrayInputStream bos=new ByteArrayInputStream(buf);
    ObjectInputStream out = new ObjectInputStream(bos);
    map=(TreeMap<DateTime, Integer>)out.readObject();
    ..
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Query untuk Menciutkan Nilai Duplikat Berdasarkan Rentang Tanggal

  2. Oracle Mengonversi TIMESTAMP dengan Timezone ke DATE

  3. 24 pertanyaan Wawancara Manajer Serentak yang Luar Biasa

  4. Tingkatkan grup disk VOTE di ASM untuk Peningkatan GI 12.2

  5. Mengapa urutan sortir varchar Oracle tidak cocok dengan perilaku perbandingan varchar?