Ik weet niet zeker wat lretorno.Load(...) doet om de gegevens te lezen, maar dit sudo-codevoorbeeld met een select-instructie kan je misschien helpen ... Ik heb altijd specifiek de blob moeten pakken en uitlezen om de bytes in het verleden te krijgen.
Voorbeeld voor het ophalen van een LONG RAW Gegevenstype
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();
Voorbeeld voor het ophalen van een BLOB Gegevenstype
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();