El procedimiento fue creado con los mismos parametros de SQLSERVER y en una instalacion que tiene EVOLUCION ORACLE 1.7.0.2 si funciona y en la version 1.8.0.2 no funciona, el error que da es el siguiente: Oracle.ManagedDataAccess.Client.OracleException (0x00001996): ORA-06550: línea 1, columna 7:PLS-00306: wrong number or types of arguments in call to 'GENRECIBOS'ORA-06550: línea 1, columna 7:PL/SQL: Statement ignored at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone) at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int32 lobPrefetchSize, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Boolean isDescribeOnly, Boolean isFromEF) at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior) at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoLoadDataSet(IDbCommand command, DataSet dataSet, String[] tableNames) at Microsoft.Practices.EnterpriseLibrary.Data.Database.LoadDataSet(DbCommand command, DataSet dataSet, String[] tableNames) at EntLibContrib.Data.ManagedOdpNet.OracleDatabase.LoadDataSet(DbCommand command, DataSet dataSet, String[] tableNames) at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteDataSet(DbCommand command) at EntLibContrib.Data.ManagedOdpNet.OracleDatabase.ExecuteDataSet(DbCommand command) at Aseinfo.VH4.Consultas.Services.Recibos.ReciboService.GetDetallesRecibo(Int32 codigoEmpleado, Int32 codigoPeriodoPlanilla) in c:BuildAgentwork08d469cc106b504VH4ConsultasServicesRecibosReciboService.cs:line 46 at Aseinfo.VH4.Consultas.Controllers.ReciboController.GetRecibo(Int32 codigoEmpleado, Int32 codigoPeriodo) in c:BuildAgentwork08d469cc106b504VH4ConsultasControllersReciboController.cs:line 101 at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary asked 05 Jun '14, 18:25 FerdyB |
Despues de validar los parametros que esten correctos, el tipo, orden, etc. el problema persistia, este procedimiento originalmente no estaba migrado, no tenia ningun parametro, se reemplazo ya por la migracion a Oracle y ese fue el problema al parecer se mantuvo la configuracion original. La solucion fue bajar y subir el IIS y ya funciono correctamente, y lo mejor es hacerlo desde la linea de comandos (ejecutado como administrador). net stop was /y net start w3svc answered 05 Jun '14, 20:13 FerdyB Al parecer esto pasa porque el driver de Oracle guarda en cache los parámetros usados para un SP
(05 Jun '14, 20:31)
sabanito ♦♦
|