Oracle - Error tipo de parametro de Procedure en Oracle

   
Vista:

Error tipo de parametro de Procedure en Oracle

Publicado por Hector (2 intervenciones) el 08/07/2015 16:32:52
Buenas tardes tengo la llamada a este Procedure:

OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "INSCA004PKG.INSAUTOCA004";
cmd.Parameters.Add("NTRANSACTION", OracleType.Number).Value = NumeradorDE.IdTransaccion;
cmd.Parameters.Add("SCERTYPE", OracleType.VarChar).Value = NumeradorDE.TipoRegistro;
cmd.Parameters.Add("NBRANCH", OracleType.Number).Value = NumeradorDE.IdRamo;
cmd.Parameters.Add("NPRODUCT", OracleType.Number).Value = NumeradorDE.IdProducto;
cmd.Parameters.Add("NPOLICY", OracleType.Number).Value = NumeradorBE.IdPoliza;
cmd.Parameters.Add("NCERTIF", OracleType.Number).Value = NumeradorBE.IdCertificado;
cmd.Parameters.Add("SPOLITYPE", OracleType.VarChar).Value = NumeradorDE.IdTipodePoliza;
cmd.Parameters.Add("DEFFECDATE", OracleType.DateTime).Value = NumeradorDE.FechaEfecto;
cmd.Parameters.Add("NUSERCODE", OracleType.Number).Value = NumeradorDE.IdUsuario;
cmd.Parameters.Add("SCODISPL", OracleType.VarChar).Value = "CA004";
cmd.Parameters.Add("BUPD", OracleType.Char,1).Direction = ParameterDirection.Output;
cmd.Parameters.Add("SSCHE_CODE", OracleType.VarChar).Value = DBNull.Value;
OracleDataReader reader = cmd.ExecuteReader();

Me sale un error de tipo de datos, ocurre con el BUPD (Que es OUT y Boolean en el procedure), ya que no existe el OracleType Boolean. al declarar el parametro me sale error de tipo de argumentos, he probado ya con char, varchar segun algunas consultas que hize pero sin exito.

Alguien una ayuda por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error tipo de parametro de Procedure en Oracle

Publicado por Rafael (177 intervenciones) el 09/07/2015 08:33:08
Tu pregunta no es de oracle, si no de C# o Java...

Como sea te dire que en efecto ORACLE no tiene datos de tipo BOOLEAN para ello usa BYTE, o INT...

Dicho lo anterior que tipo de OracleType debes usar???
cmd.Parameters.Add("BUPD", OracleType.Byte).Direction = ParameterDirection.Output;


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error tipo de parametro de Procedure en Oracle

Publicado por Hector (2 intervenciones) el 09/07/2015 16:11:51
Buen dia, Rafael y gracias por contestar. En efecto, intenté usar byte e int sin exito alguno. No he encontrado mucha documentacion sobre esto, he ejecutado el error desde TOAD, y no me sale error; el problema es justamente cuando lo corro desde mi aplicacion..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error tipo de parametro de Procedure en Oracle

Publicado por Rafael (177 intervenciones) el 10/07/2015 10:34:37
Te reitero que el tema no es de ORACLE por eso desde el TOAD no hay error, quizas si pones la duda en Java, o C# o el lenguaje que uses te contesten...

Pese a ello, a mi entender primero tendrias que ver que tipo de dato tiene en ORACLE realmente, por que BOOLEAN no es, no existe el tipo en ORACLE, luego en base a eso ver el dato que le corresponde en tu framework...

Y bueno si aun asi no funciona preguntar en el foro adecuado... saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar