OutOfMemoryException using NCLOB as Parameters
Posted: Fri 16 Dec 2011 08:15
Hello there!
I hope you can help me or give me an advice.
We are using dotConnect Version 6.60.258 and Oracle 11.2.
As we have to use Unicode, all fields in the database schema are NVARCHAR2 or NCLOB data types.
For 1 time we have to insert a large amount of data into the database.
This is done via DML-Statements and the data is passed by parameters.
And here we are receiving an OutOfMemoryException.
The Stack-Trace is:
bei System.IO.MemoryStream.set_Capacity(Int32 value)
bei System.IO.MemoryStream.EnsureCapacity(Int32 value)
bei System.IO.MemoryStream.Write(Byte buffer, Int32 offset, Int32 count)
bei Devart.Data.Oracle.OracleLob.Write(Byte buffer, Int32 offset, Int32 count)
bei Devart.Data.Oracle.OracleParameter.a(OracleDbType A_0, Object A_1, Object A_2, Byte A_3, Hashtable A_4, Int32 A_5, Int32 A_6, Int32 A_7, Int32 A_8, Int32 A_9, Boolean A_10, OracleConnection A_11, ParameterDirection A_12, String A_13, ah A_14, Boolean& A_15)
bei Devart.Data.Oracle.OracleParameter.a(a0& A_0, Boolean A_1, OracleConnection A_2, Byte A_3, Hashtable A_4, ah A_5, Boolean& A_6, Int32 A_7)
bei Devart.Data.Oracle.OracleCommand.a(ag A_0, Int32 A_1, OracleParameterCollection A_2, ah A_3, Boolean& A_4)
bei Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
bei Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
bei Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
Any idea what we can do to avoid this? Direct Mode is no solution for us.
Kind regards
Peter
I hope you can help me or give me an advice.
We are using dotConnect Version 6.60.258 and Oracle 11.2.
As we have to use Unicode, all fields in the database schema are NVARCHAR2 or NCLOB data types.
For 1 time we have to insert a large amount of data into the database.
This is done via DML-Statements and the data is passed by parameters.
And here we are receiving an OutOfMemoryException.
The Stack-Trace is:
bei System.IO.MemoryStream.set_Capacity(Int32 value)
bei System.IO.MemoryStream.EnsureCapacity(Int32 value)
bei System.IO.MemoryStream.Write(Byte buffer, Int32 offset, Int32 count)
bei Devart.Data.Oracle.OracleLob.Write(Byte buffer, Int32 offset, Int32 count)
bei Devart.Data.Oracle.OracleParameter.a(OracleDbType A_0, Object A_1, Object A_2, Byte A_3, Hashtable A_4, Int32 A_5, Int32 A_6, Int32 A_7, Int32 A_8, Int32 A_9, Boolean A_10, OracleConnection A_11, ParameterDirection A_12, String A_13, ah A_14, Boolean& A_15)
bei Devart.Data.Oracle.OracleParameter.a(a0& A_0, Boolean A_1, OracleConnection A_2, Byte A_3, Hashtable A_4, ah A_5, Boolean& A_6, Int32 A_7)
bei Devart.Data.Oracle.OracleCommand.a(ag A_0, Int32 A_1, OracleParameterCollection A_2, ah A_3, Boolean& A_4)
bei Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
bei Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
bei Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
Any idea what we can do to avoid this? Direct Mode is no solution for us.
Kind regards
Peter