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

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

Postby 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();
        }
 
anand123
 
Posts: 17
Joined: Thu 30 Jan 2014 08:58

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

Postby 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.
Shalex
Devart Team
 
Posts: 7703
Joined: Thu 14 Aug 2008 12:44


Return to dotConnect for Oracle