Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Difficulty in resolving ORA-06502: PL/SQL: numeric or value error:

user633278Jan 15 2010 — edited Jan 16 2010
Hi

I am having great difficulty to resolve the following error - ORA-06502: PL/SQL: numeric or value error: character string buffer too small . In my Oracle Package, I have a Function that returns a varchar(255).

My Function is basically as follows:

FUNCTION GetUserDept (DeptNum IN NUMBER) RETURN VARCHAR2
IS

deptname varchar(255);

BEGIN

SELECT name INTO deptname
FROM depts
where id = DeptNum;

RETURN deptname
END;

The SQL is running correctly and returns one result, which is what I want. However, when I call the function in my .NET C# code, this is when I am seeing the error message.

In my code, I said that the commandtype is a stored procedure, passed the parameters, and add it to to the parameters, with the return type and direction put first and executed as a scalar. The code executes, and then fails at the ExecuteScalar line, and it is at this point on my exception handler that I see the error message ORA-6502.

This really odd, because I have two other functions that return numbers, and I have executed them in the same way, and theses works!

I have checked my function and can't see what is wrong, and I have tried changing the return type from varchar2 to NVarchar on the return type, but this made no difference.

This problem has really dogged me for hours and I cannot see how to resolve it.

Can someone, please help me?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 13 2010
Added on Jan 15 2010
6 comments
3,296 views