sql >> データベース >  >> RDS >> Oracle

OracleLobをパラメーターとして関数に渡す

    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);
    
          ...
    }
    

    私は個人的にこの方法でDataTableに列を作成して追加しますが、この方法で試すか、うまくいくことがわかっている別の方法で試すかはあなた次第です

    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. odp.netdb変更通知

    2. データをMSSQLからPostgreSQLに移行しますか?

    3. ORA-30926-マージ状態

    4. SQLでリレーションシップを作成する