.NET调用ORACLE存储过程报错,参数“prm_errormsg”: 没有为可变长度的数据类型 String 设置大小。
.NET调用ORACLE存储过程报错, output::参数“prm_errormsg”: 没有为可变长度的数据类型 String 设置大小。 请问各位大侠有遇到这方面的问题吗? 存储过程中,prm_errormsg的类型是varchar2 .net中,我调用语句是: 
cmd.Parameters.Add("prm_errormsg", OracleType.VarChar); 
cmd.Parameters["prm_errormsg"].Direction = ParameterDirection.Output;
问题补充:存储过程中,prm_errormsg的类型是varchar2 
when others then 
prm_appcode := -1; 
prm_errormsg := '维护个人基本信息错误,错误信息:'||sqlerrm; 
return; .net中,我调用语句是: cmd.Parameters.Add("prm_errormsg", OracleType.VarChar); 
cmd.Parameters["prm_errormsg"].Direction = ParameterDirection.Output; 
cmd.ExecuteNonQuery();

解决方案 »

  1.   

    试试:
    cmd.Parameters.Add("prm_errormsg", OracleType.VarChar, 100); 
      

  2.   

    您好 ,我和你碰到同样的问题; 但是cmd.Parameters.Add("prm_errormsg", OracleType.VarChar, 100); 如果用这个办法,它又会提示我
    ORA-06550: line 1, column 17:
    PLS-00306: wrong number or types of arguments in call to 'ASZ_INSERT_PCDTL'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored如果不用out回的参数,procedure .net程序运行都是正常
    很是郁闷