Galera,
Tenho uma procedure em Oracle 7.* com os parâmetros abaixo.
p_1 - Float
p_2 - Float
p_3 - Float
p_4 - Float
p_retorno_1 - Float
p_retorno_2 - Float
Estou executando (conforme abaixo) a procedure através do OleDb, e a procedure está FUNCIONANDO CORRETAMENTE
cmd.Parameters.Add(dao.getParameter("p_1", DbType.Int32, ParameterDirection.Input, 1));
cmd.Parameters.Add(dao.getParameter("p_2", DbType.Int64, ParameterDirection.Input, 2));
cmd.Parameters.Add(dao.getParameter("p_3", DbType.Int32, ParameterDirection.Input, 3));
cmd.Parameters.Add(dao.getParameter("p_4" ,DbType.Int32, ParameterDirection.Input, 4));
cmd.Parameters.Add(dao.getParameter("p_retorno_1" ,DbType.Int32, ParameterDirection.InputOutput, Retorno1));
cmd.Parameters.Add(dao.getParameter("p_retorno_2", DbType.Int32, ParameterDirection.InputOutput, Retorno2);
cmd.ExecuteNonQuery();
O problema é que se eu executar essa mesma procedure que está no Oracle 9 ocorre o erro: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Resolvi então alterar para OracleClient e criei os parâmetros tudo como OracleType.Number, mas o erro continua.
Resolvi então alterar para OracleClient e criei os parâmetros tudo como OracleType.Float e o erro parou de ocorrer, mas também não funciona, não dá erro o erro acima e não trás nada na procedure.
Pergunta:
Como faço para executar a procedure Oracle 9 com OleDB, os parâmetros da procedure está como FLOAT, qual tipo devo utilizar no DbType para os parâmetros?
Como faço para executar a procedure Oracle 9 com OracleClient, os parâmetros da procedure está como FLOAT, qual tipo devo utilizar no OracleType para os parâmetros?
OBS.: .NET 2003 - FRAMEWORK 1.1