sql >> Databáze >  >> RDS >> Oracle

Předání OracleLob jako parametru funkci

using(reader)
{
      //Obtain the first row of data.
      reader.Read();
      //Obtain the LOBs (all 3 varieties).
      OracleLob BLOB = reader.GetOracleLob(1);
      ...

      //Example - Reading binary data (in chunks).
      byte[] buffer = new byte[4096];
      while((actual = BLOB.Read(buffer, 0, buffer.Length)) >0)
         Console.WriteLine(BLOB.LobType + 
            ".Read(" + buffer + ", " + buffer.Length + ") => " + actual);

      ...
}

Osobně bych tímto způsobem vytvořil a přidal sloupce do DataTable, ale je na vás, zda to zkusíte tímto způsobem nebo jiným způsobem, o kterém víte, že bude fungovat

DataTable table = new DataTable("ImageTable"); //Create a new DataTable instance.

DataColumn column0 = new DataColumn("id"); //Create the column.
column.DataType = System.Type.GetType("System.String"); //Type string 

DataColumn column1 = new DataColumn("image"); //Create the column.
column.DataType = System.Type.GetType("System.Byte[]"); //Type byte[] to store image bytes.
column.AllowDBNull = true;
column.Caption = "My Image";

table.Columns.Add(column0); //Add the column to the table.
table.Columns.Add(column1); //Add the column to the table.

Then, add a new row to this table and set the value of the MyImage column.

DataRow row = table.NewRow();
row["MyImage"] = <Image byte array>;
tables.Rows.Add(row);



  1. MySQL EXPLAIN 'type' se změní z 'range' na 'ref', když se změní datum v příkazu where?

  2. Parametrizovaný dotaz Oracle v c#

  3. SqlFunction se nezdaří otevřít kontextové připojení navzdory přítomnosti DataAccessKind.Read

  4. Zhroucení MySQL Innodb