Page 1 of 1

NCLOB problem

Posted: Fri 02 Mar 2012 13:41
by mlagasio
Hi,

If I call the SP Oracle

CREATE OR REPLACE PROCEDURE "TESTCLOB" (
v_PARAMETER IN NCLOB ,
v_Out OUT NCLOB
)
AS
V_P NCLOB := v_PARAMETER;
BEGIN

v_Out := REPLACE(V_P, '@', TO_NCLOB(10));

END TESTCLOB;

with the code

UniConnection conn = new UniConnection("Data Source=RISDB;User ID=IMARKDB;Password=IMUser;");

// Prepara la query
UniCommand cmd = new UniCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "TESTCLOB";

UniParameter par = cmd.Parameters.Add(new UniParameter("v_PARAMETER", UniDbType.NClob, 8000));
par.Value = "Pippo@Pluto";

UniParameter par1 = cmd.Parameters.Add(new UniParameter("v_Out", OracleDbType.NClob, 8000));
par1.Direction = ParameterDirection.Output;


conn.Open();



UniDataReader reader = null;
try
{
reader = cmd.ExecuteReader();
}
finally
{
reader.Close();
conn.Close();
}

then I have the error

ORA-22921 length of input buffer is smaller than amount requested
ORA-06512: a "IMARKDB.TESTCLOB", line 9
ORA-06512: a line 2

If I run the script with sql-developer there are no problems.

Best Regards
Marco

Posted: Mon 05 Mar 2012 09:48
by Pinturiccio
We have reproduced the issue. We will investigate it and notify you about the results as soon as possible.

Posted: Wed 28 Mar 2012 10:26
by Pinturiccio
We have fixed the bug with creating an invalid temporary NCLOB. We will post here when the corresponding build of dotConnect for Oracle is available for download.

Posted: Thu 29 Mar 2012 14:16
by Pinturiccio
The new build of dotConnect for Oracle 6.80.332 is available for download now!
It can be downloaded from http://www.devart.com/dotconnect/oracle/download.html (trial version) or from Registered Users' Area (for users with valid subscription only).
For more information, please refer to http://www.devart.com/forums/viewtopic.php?t=23775