Ошибка символьной строки слишком мала при вызове функции Oracle с использованием C #

flex buzzhour спросил: 27 ноября 2017 в 06:28 в: c#

Ошибка числового значения plsql при вызове функции оракула из C # - скажите, пожалуйста, как устранить эту ошибку.

PL / SQL: ошибка числового значения или значения: слишком маленький буфер строки символов

Код:

create or replace function testdotnet(h1 varchar2)
 return varchar2   
 as
x varchar2(250);
begin
      select 'hello' into x from dual;
      return x;
end;

Код C #:

string CommandStr = "APPS.testdotnet";using (OracleConnection conn = new OracleConnection("User Id=apps;Password=***;Data Source=***"))
using (OracleCommand cmd = new OracleCommand(CommandStr, conn))
{
    cmd.CommandType = CommandType.StoredProcedure;    cmd.Parameters.Add("h1", OracleDbType.Varchar2).Value = "aaa";
    cmd.Parameters.Add("x", OracleDbType.Varchar2, 40000).Direction = ParameterDirection.ReturnValue;
    cmd.Parameters["x"].Size = 255;
    cmd.Parameters["h1"].Size = 255;    conn.Open();
    cmd.ExecuteNonQuery();    Response.Write( cmd.Parameters["x"].Value.ToString());
}

0 ответов