Storing string of more than 4k value in Long type column using Entity Framework throws error..

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
anand123
Posts: 17
Joined: Thu 30 Jan 2014 08:58

Storing string of more than 4k value in Long type column using Entity Framework throws error..

Post by anand123 » Tue 03 Feb 2015 12:42

I am trying to store big string more than 5000 chars in long type column in oracle via DevArt EntityFramework. I am getting below error.

Is there any solution for this issue.

Code: Select all

UPDATE VOYACC
   SET SHIP = :p0, TYPE = :p1, STATUS = :p2, CURR = :p3, CALCNO = :p4, COMMENTS = :p5, UPDC = :p6, VOYAGEREF = :p7, START_DATE = :p8, END_DATE = :p9, VOY_SEQNO = :p10, BALLAST_LEG = :p11, STAT_YEAR = NULL, STAT_PERIOD = NULL, LAST_UPDATE = :p12, GENERATED_BY = :p13, TRADE_CODE = :p14, UTIL_FACTOR = NULL, LAST_UPDATEBY = :p15, HIRECOST = :p16, HIRECOST_UPD = :p17, FIXNOTE_NO = :p18, SPOTIN_FIXNO = :p19, POOL = :p20, UNLINK_VOYCOST = :p21, LAST_UPDATE_STAT = :p22, VE_GENERATED = NULL, USE_ESTIMATED_BUNKERCOST = :p23, BRK_FEE = NULL, INCL_TCIN_PL = :p24, OPERATOR = :p25, COMMENTSRTF = :p26, SC_VOYREP = NULL
 WHERE VOY = :p27 AND SHIP_CODE = :p28
-- p0: 'ACTION' (Type = String, IsNullable = false, Size = 6)
-- p1: 'T' (Type = String, IsNullable = false, Size = 1)
-- p2: 'O' (Type = String, IsNullable = false, Size = 1)
-- p3: 'USD' (Type = String, IsNullable = false, Size = 3)
-- p4: '17132' (Type = Int32, IsNullable = false)
-- p5: 'sfasfasfasfasfasasdfadsfasfasf asdfasfasf  asdfasfas#region
     \}}\f1\fs19\cf0\par\pard\plain\ql{\f1\fs19\cf0\chcbpat2 \}}\f1\fs19\cf0\par\pard\plain\ql\fs22\par}' (Type = String, IsNullable = false, Size = 15994).......
-- p27: '5' (Type = Int32, IsNullable = false)
-- p28: '9346744' (Type = String, IsNullable = false, Size = 7)
-- Executing at 2/3/2015 17:57:04 +05:30
A first chance exception of type 'Devart.Data.Oracle.OracleException' occurred in Devart.Data.dll
A first chance exception of type 'Devart.Data.Oracle.OracleException' occurred in EntityFramework.dll
A first chance exception of type 'System.Data.Entity.Core.UpdateException' occurred in EntityFramework.dll
A first chance exception of type 'System.Data.Entity.Core.UpdateException' occurred in EntityFramework.dll
A first chance exception of type 'System.Data.Entity.Infrastructure.DbUpdateException' occurred in EntityFramework.dll
-- Failed in 255 ms with error: ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 4929, maximum: 4000)
but works find without EF.

Code: Select all

  public void savecomments(string comments)
        {
            string sql = "UPDATE VOYACC SET COMMENTS = :Value WHERE SHIP_CODE = '9346744' and VOY='5'";

            var oraCommand = new OracleCommand(sql, GetDbConnection());

            OracleParameter param = oraCommand.Parameters.Add("Value", OracleDbType.Long);
            param.Direction = ParameterDirection.Input;
            param.Value = comments; //more than 5k chars.

            oraCommand.ExecuteNonQuery();
        }
  

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Re: Storing string of more than 4k value in Long type column using Entity Framework throws error..

Post by Shalex » Fri 06 Feb 2015 10:45

We cannot reproduce the problem with EF code. Please send us a small test project with the corresponding DDL/DML script.

Post Reply