Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Bild von Oracle DB abrufen

Ich bin mir nicht sicher, was lretorno.Load(...) tut, um die Daten zu lesen, aber dieses Sudo-Codebeispiel mit einer select-Anweisung könnte Ihnen helfen ... Ich musste immer speziell den Blob abrufen und auslesen um die Bytes in die Vergangenheit zu bekommen.

Beispiel für das Abrufen eines LONG RAW Datentyp

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();

Beispiel für das Abrufen eines BLOB Datentyp

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();