2
Vote

Exception persisting large workflow to Oracle

description

Running 0.3.0.0 Changeset 15876, with ODP.NET 2.111.6.20 against Oracle 9i 9.2.0.5.0. AdoPersistenceResourceAccessor.InsertInstanceState fails when the workflow size (workItem.SerialisedActivity) is larger than 32k, with Oracle error "ORA-01460: unimplemented or unreasonable conversion requested".
 
I receive this error both under System.Data.OracleClient and Oracle.DataAccess.Client.
 
This is similar to Issue 5056, but in that case it was Tracking and CLOBs, and in this case, it's Persistence and BLOBs.
 
Recommended change: In both OracleResourceProvider.cs and OdpResourceProvider.cs, change the PopulateType method's IF condition to translate AdoDbType.Binary into (OracleType or OracleDbType).Blob, the same way as you're doing for AdoDbType.Text -> Clob.

comments