sql >> Databasteknik >  >> RDS >> Oracle

Hämta bild från Oracle DB

Jag är inte säker på vad lretorno.Load(...) gör för att läsa data, men det här sudo-kodexemplet som använder en select-sats kan hjälpa dig... Jag har alltid varit tvungen att specifikt skaffa blob och läsa upp den för att få byte i det förflutna.

Exempel för att hämta en LONG RAW DataType

var imgCmd = new OracleCommand("SELECT photo FROM photos WHERE photo_id = 1", _con);
imgCmd.InitialLONGFetchSize = -1; // Retrieve the entire image during select instead of possible two round trips to DB
var reader = imgCmd.ExecuteReader();
if (reader.Read()) {
    // Fetch the LONG RAW
    OracleBinary imgBinary = reader.GetOracleBinary(0);
    // Get the bytes from the binary obj
    byte[] imgBytes = imgBinary.IsNull ? null : imgBinary.Value;
}
reader.Close();

Exempel för att hämta en BLOB DataType

var imgCmd = new OracleCommand("SELECT photo FROM photos WHERE photo_id = 1", _con);
var reader = imgCmd.ExecuteReader();
if (reader.Read()) {
    // Fetch the blob
    OracleBlob imgBlob = reader.GetOracleBlob(0);
    // Create byte array to read the blob into
    byte[] imgBytes = new byte[imgBlob.Length];
    // Read the blob into the byte array
    imgBlob.Read(imgBytes, 0, imgBlob.Length);
}
reader.Close();



  1. Kul med meddelanden

  2. MySQL:Hur går jag med i samma bord flera gånger?

  3. Mysql-underfrågan gör alltid filsortering

  4. Funktion bind_param() på ett icke-objekt | PHP MySQL