Oracle
 sql >> база данни >  >> RDS >> Oracle

Извличане на изображение от Oracle DB

Не съм сигурен какво прави lretorno.Load(...) за четене на данните, но този примерен код на sudo, използващ оператор select, може да ви помогне... Винаги ми се е налагало специално да вземам петното и да го чета за да получите байтовете в миналото.

Пример за извличане на 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();

Пример за извличане на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlplus - използване на свързваща променлива в IN клауза

  2. елиминиране на специални символи на регулярен израз

  3. verify_queryable_inventory върнат ORA-20008:Времето за изчакване изтече

  4. Добавете знак за валута £, $ към определени полета ORACLE

  5. Оптимизиране на размера на извличане на JDBC чрез използване на Spring Boots application.properties