OracleException - Network error: 200 writing large BLOB
Posted: Tue 08 Dec 2009 06:42
Hello.
I've encountered the above problem when I try to update a large blob.
If blob is small then everything is OK.
I've set ConnectionTimeout in both connection string and OracleCommand to 1800, but it hasn't helped.
Blob update is the same as in examples (new Blob is created, then assigned to OracleCommand as parameter).
Exception details are below.
What could be the problem here?
[Edit] When pooling is off (Pooling=false in the connection string), then exception is thrown after ~30 seconds after call of cmd.ExecuteNonQuery().
When pooling was set to default value then exception was thrown after ~3 mins.
[Edit2] Version 5.25.49.0 is used.
Devart.Data.Oracle.OracleException occurred
Message="Network error: 200"
Source="Devart.Data.Oracle"
ErrorCode=-2147467259
Code=200
Offset=0
StackTrace:
at Devart.Data.Oracle.o.a(Int32 A_0)
at Devart.Data.Oracle.ab.i()
at Devart.Data.Oracle.ab.d()
at Devart.Data.Oracle.aw.o()
at Devart.Data.Oracle.a7.c(Int32 A_0, Byte[] A_1, Int32 A_2, Int32 A_3)
at Devart.Data.Oracle.a7.a(Int32 A_0, Byte[] A_1, Int32 A_2, Int32 A_3)
at Devart.Data.Oracle.OracleLob.WriteLobCache(Boolean clearLob)
at Devart.Data.Oracle.OracleLob.b()
at Devart.Data.Oracle.OracleLob.f()
at Devart.Data.Oracle.OracleParameter.a(OracleDbType A_0, Object A_1, Byte[] A_2, Hashtable A_3, Int32 A_4, Int32 A_5, Int32 A_6, Int32 A_7, Int32 A_8, Boolean A_9, OracleConnection A_10, ParameterDirection A_11, String A_12, aw A_13, Boolean& A_14)
at Devart.Data.Oracle.OracleParameter.a(ar& A_0, Boolean A_1, OracleConnection A_2, Byte[] A_3, Hashtable A_4, aw A_5, Boolean& A_6)
at Devart.Data.Oracle.OracleCommand.a(aa A_0, Int32 A_1, OracleParameterCollection A_2, aw A_3, Boolean& A_4)
at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
at ....
I've encountered the above problem when I try to update a large blob.
If blob is small then everything is OK.
I've set ConnectionTimeout in both connection string and OracleCommand to 1800, but it hasn't helped.
Blob update is the same as in examples (new Blob is created, then assigned to OracleCommand as parameter).
Exception details are below.
What could be the problem here?
[Edit] When pooling is off (Pooling=false in the connection string), then exception is thrown after ~30 seconds after call of cmd.ExecuteNonQuery().
When pooling was set to default value then exception was thrown after ~3 mins.
[Edit2] Version 5.25.49.0 is used.
Devart.Data.Oracle.OracleException occurred
Message="Network error: 200"
Source="Devart.Data.Oracle"
ErrorCode=-2147467259
Code=200
Offset=0
StackTrace:
at Devart.Data.Oracle.o.a(Int32 A_0)
at Devart.Data.Oracle.ab.i()
at Devart.Data.Oracle.ab.d()
at Devart.Data.Oracle.aw.o()
at Devart.Data.Oracle.a7.c(Int32 A_0, Byte[] A_1, Int32 A_2, Int32 A_3)
at Devart.Data.Oracle.a7.a(Int32 A_0, Byte[] A_1, Int32 A_2, Int32 A_3)
at Devart.Data.Oracle.OracleLob.WriteLobCache(Boolean clearLob)
at Devart.Data.Oracle.OracleLob.b()
at Devart.Data.Oracle.OracleLob.f()
at Devart.Data.Oracle.OracleParameter.a(OracleDbType A_0, Object A_1, Byte[] A_2, Hashtable A_3, Int32 A_4, Int32 A_5, Int32 A_6, Int32 A_7, Int32 A_8, Boolean A_9, OracleConnection A_10, ParameterDirection A_11, String A_12, aw A_13, Boolean& A_14)
at Devart.Data.Oracle.OracleParameter.a(ar& A_0, Boolean A_1, OracleConnection A_2, Byte[] A_3, Hashtable A_4, aw A_5, Boolean& A_6)
at Devart.Data.Oracle.OracleCommand.a(aa A_0, Int32 A_1, OracleParameterCollection A_2, aw A_3, Boolean& A_4)
at Devart.Data.Oracle.OracleCommand.InternalExecute(CommandBehavior behavior, IDisposable disposable, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Devart.Data.Oracle.OracleCommand.ExecuteNonQuery()
at ....