Sunday, August 23, 2020

[VB][Orcale][Resolved] ORA-06502: PL/SQL: numeric or value error: character string buffer too small

Error message "ORA-06502: PL/SQL: numeric or value error: character string buffer too small" mean your column data type length for database is not enough to store the value.

VB:

Dim dbCommand As New OrcaleCommand

With dbCommand

  .Connect = gClipConn

  .CommentText = "SP_ADD_BOOK"

  .Parameters.Clear()

  .Parameters.Add("@in_batch_no","20200820-01")

  .Parameters.Add("@in_cre_user","Super")

  .Parameters.Add("@out_result",Orcale.DbType.Decimal).Direction = ParameterDirection.Output

  .Parameters.Add("@out_err_msg",Orcale.DbType.Varchar2).Direction = ParameterDirection.Output

  .ExecuteNonQuery()


  Debug.WriteLine(.Parameters.Item("@out_err_msg").Value().ToString())

End With


Procedure:

CREATE OR REPLACE

PROCEDURE SP_ADD_BOOK(

  in_batch_no IN VARCHAR2,

  in_cre_user IN VARCHAR2,

  out_result OUT DECIMAL,

  out_err_msg OUT VARCHAR2)

AS

  intCount NUMBER(18,0);

BEGIN

  out_result :=9;

  out_err)msg := "dfgdfgdfg"

END


Correction

Dim dbCommand As New OrcaleCommand

With dbCommand

  .Connect = gClipConn

  .CommentText = "SP_ADD_BOOK"

  .Parameters.Clear()

  .Parameters.Add("@in_batch_no","20200820-01")

  .Parameters.Add("@in_cre_user","Super")

  .Parameters.Add("@out_result",Orcale.DbType.Decimal).Direction = ParameterDirection.Output

  .Parameters.Add("@out_err_msg",Orcale.DbType.Varchar2,100).Direction = ParameterDirection.Output

  .ExecuteNonQuery()


  Debug.WriteLine(.Parameters.Item("@out_err_msg").Value().ToString())

End With

No comments :

Post a Comment