[Mono-dev] Mono - OracleClient ORA-06502: PL/SQL: numeric or value error

Rytis Ilciukas (rick) zibalas at gmail.com
Tue Apr 28 02:48:11 EDT 2009


Hello,

I'm getting an OracleException when I'm executing stored procudure what
looks like this:

 PROCEDURE Update_Substations (in_subst_id IN NUMBER,
                               in_state_id IN NUMBER,
                               in_last_contr IN NUMBER,
                               in_last_status IN NUMBER,
                               on_err_code OUT NUMBER,
                               ov_err_msg OUT VARCHAR2);


I'm calling the procedure like this:

 OracleCommand cmd = new OracleCommand("GT_DSM.Update_Substations",
theDBConnection);

            cmd.CommandType = CommandType.StoredProcedure;

            OracleParameter prm1 = new OracleParameter("in_subst_id",
OracleType.Number);
            prm1.Value = inSubstationId;
            cmd.Parameters.Add(prm1);

            OracleParameter prm2 = new OracleParameter("in_state_id",
OracleType.Number);
            prm2.Value = (int) inState;
            cmd.Parameters.Add(prm2);

            OracleParameter prm3 = new OracleParameter("in_last_contr",
OracleType.Number);
            prm3.Value = inControllerId;
            cmd.Parameters.Add(prm3);

            OracleParameter prm4 = new OracleParameter("in_last_status",
OracleType.Number);
            prm4.Value = inStatus;
            cmd.Parameters.Add(prm4);

            OracleParameter prm5 = new OracleParameter("on_err_code",
OracleType.Number, 50);
#if MONO
            prm5.Size = 50;
#endif
            prm5.Direction = ParameterDirection.Output;
            cmd.Parameters.Add(prm5);
            OracleParameter prm6 = new OracleParameter("ov_err_msg",
OracleType.NVarChar, 200);
#if MONO
            prm6.Size = 200;
#endif
            prm6.Direction = ParameterDirection.Output;
            cmd.Parameters.Add(prm6);

            cmd.ExecuteNonQuery();

I get the following exception:

System.Data.OracleClient.OracleException: ORA-06502: PL/SQL: numeric or
value error: character to number conversion error
ORA-06512: at line 1

  at System.Data.OracleClient.Oci.OciStatementHandle.Execute (Boolean
nonQuery, Boolean useAutoCommit, Boolean schemaOnly) [0x00000] 
  at System.Data.OracleClient.Oci.OciStatementHandle.ExecuteNonQuery
(Boolean useAutoCommit) [0x00000] 
  at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal
(System.Data.OracleClient.Oci.OciStatementHandle statement, Boolean
useAutoCommit) [0x00000] 
  at System.Data.OracleClient.OracleCommand.ExecuteNonQuery () [0x00000] 

This doesn't happen with .NET :( I'm using MONO 2.4 Any idea why this
happens?

Regards,
Rick
-- 
View this message in context: http://www.nabble.com/Mono---OracleClient-ORA-06502%3A-PL-SQL%3A-numeric-or-value-error-tp23271130p23271130.html
Sent from the Mono - Dev mailing list archive at Nabble.com.



More information about the Mono-devel-list mailing list