2014-08-30 61 views
1

在我的asp.net頁面返回「ORA-06502:PL/SQL:數字或值錯誤:字符串緩衝區太小」。「ORA-06502:PL/SQL:數字或值的錯誤:字符串緩衝區太小」是錯誤?

但在蟾蜍做得很好。

這是我的oracle程序和asp.net代碼。

CREATE OR REPLACE PROCEDURE FIS.test(res out varchar2) 
IS 

BEGIN 
    res := 't430intw2sBn0UQx8WWO0FlsYLcLOPaJ:1R3xHpLiQGw12xXintomQc3oXbiJtvmw'; 
END test; 

-

public String Foo() 
     { 
      string queryString = "TEST"; 

      OracleParameter[] parameters = 
       { 
        new OracleParameter("OUT_CURSOR", OracleDbType.Varchar2, ParameterDirection.Output) 
       }; 

      return ExecuteScalar(CommandType.StoredProcedure, queryString, parameters); 
     } 

回答

1

你需要給你的VARCHAR(2)這裏的大小:

new OracleParameter("OUT_CURSOR", OracleDbType.Varchar2, ParameterDirection.Output) 

喜歡的東西:

new OracleParameter("OUT_CURSOR", OracleDbType.Varchar2,32767, ParameterDirection.Output) 
+1

謝謝!有用。 – user1788012 2014-08-30 18:52:23

+0

@ user1788012: - 不客氣。 ;) – 2014-08-30 18:53:05

相關問題