Problem using Oracle CLOB with EntLib2.0

Topics: Data Access Application Block
Mar 4, 2008 at 2:41 PM
Edited Mar 4, 2008 at 2:42 PM
I'm currently using EntLib2.0 DAAB against an Oracle 10g database, but can't get it to accept any data into a clob column (via a procedure) if the string length exceeds 2000 characters.
The DiscoverParameters call correctly identifies the column as OracleType=CLOB and shows it as dbType=AnsiString. This fails with 'ORA-01084: invalid argument in OCI call'. Changing the dbType to String supresses that error and the call works as long as the string length <2000, otherwise the call fails with 'ORA-01460: unimplemented or unreasonable conversion requested', which is uncharacteristically polite but awfully unhelpful.

Forcing the string length on the parameter to a value over 2000 doesn't help either.
Clues anyone?
Apr 23, 2008 at 11:06 AM
I've found a solution in case you have the same problem:
This appears to be a problem with the System.Data.OracleClient - it can't accept >32k of data for a procedure call. I have had to extend the data access block by adding a new provider that uses the Oracle supplied Oracle.DataAccess library to use CLOBs successfully.
Jan 18, 2013 at 11:27 PM

Hello RikGarner

 Can you share the code where showme the solution por this problem? Thanks.

Jan 21, 2013 at 4:09 AM

You might want to look at the Oracle ODP.NET Data Provider from EntLibContrib.  Not sure about your situation but in any case the source could probably help you.

--
Randy Levy
entlib.support@live.com
Enterprise Library support engineer
Support How-to