Hola, Gracias por responder a mi correo, Te comento que los metodos que consultan la informacion y que renderizan los datos en Grillas por ejemplo, Funconan perfectamente. El inconveniente ocurre cuando modifico un registro y lo intento guardar en la BD. De hecho, el metodo LoadById(id) funciona perfectamente, ese metodo es capaz de recuperer el registro desde la BD y cargar el objeto. Despues de cargarlo y modificar algunas de las propiedades y quererlo persistir nuevamente en la BD, es cuando ocurre el error. La verdad ese error me tiene desconsertado y me siento Impotente, ya que la aplicación es para una empresa Super Importante y el acceso a los servidores esta super restringido por politicas internas. Es un problema para que le actualicen una dll o un aspx. De todas formas muchas gracias por tu aporte, tataré de hacer lo que me comentas para descartar el problema en la BD. Estamos en contacto. Bye
El 21 de mayo de 2011 10:39, [email protected] <[email protected]>escribió: > Walter, si podés apuntar por unos instantes la aplicación de > producción a la base de datos de desarrollo, te diría que lo hagas y > pruebes, si funciona de esta manera entonces tenés que buscar tu > "problema" en la base de datos (o en la conexión a esta). ¿o ya lo > probaste? > > saludos. > nelo > > 2011/5/21 Nestor Rodriguez <[email protected]>: > > antes de llamar este metodo la entidad entity que datos tiene, mas > > precisamente que Id tiene ? > > public bool Save(PlantillasExcelCargue entity) > > > > 2011/5/20 Walter Molano <[email protected]> > >> > >> Hola, de antemano mucha gracias por responder a mi solicitud de ayuda. > >> Como comente en el correo inicial, Es muy raro que la aplicaión funcione > sin > >> problemas en el ambiente de desarrollo. > >> El error ocurre cuando intento guardar o actualizar un registro en la > base > >> de datos. La capa de persistencia la genero por medio de Visual Paradigm > >> utilizando el mecanismo de generación del modelo de Objetos DAO. Lo que > >> hago es utilizar las clases que genera esta herramienta para hacer > persistir > >> los objetos en la BD, Por ejemplo para el caso de la entidad Empleado, > la > >> herramienta me genera una clase DAO, llamada EmpleadoDao, y es a trevez > de > >> esta clase que se manipulan los registros, bien sea para eliminarlos, > >> actualozarlos o insertarlos. Los metodos serían entonces > >> EmpleadosDao.Save(objEmpleado); > >> EmpleadosDao.Delete(objEmpleado); > >> > >> Adjunto un fragmento de código para una de las clases y el .hbn.xml > >> asociado a ver si depronto se amplia el panorama. > >> > >> Nuevamente Muchas gracias por su amable colaboración. > >> > >> > >> > >> public bool Save(PlantillasExcelCargue entity) > >> { > >> > >> var beginTransaction = > >> > PlanificacionFinanzasOrmPersistentManager.Instance().GetSession().BeginTransaction(); > >> try > >> { > >> var isSaved = PlantillasExcelCargueDAO.Save(entity); > >> beginTransaction.Commit(); // Cuando llega aqui se > >> produce la escepcion... !!!!!! > >> return isSaved; > >> } > >> catch (Exception ex) > >> { > >> Log.Error(" Clase: [PlantillasExcelCargueDaos] --- > Metodo: > >> [Save] --- Error: ", ex); > >> beginTransaction.RollBack(); > >> } > >> return false; > >> } > >> > >> > >> /////////////////////////////// > >> > >> <?xml version="1.0" encoding="utf-8" ?> > >> <!-- > >> Licensee: DuKe TeAm > >> License Type: Purchased > >> --> > >> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> > >> <class name="Planificacion.PlantillasExcelCargue, > >> PlanificacionFinanzas.Orm" tablePlantillasExcelCargue" schema="dbo" > >> lazy="false"> > >> <id name="IdPlantilla" column="IdPlantilla" type="Int32" > >> unsaved-value="0"> > >> <generator class="identity"> > >> </generator> > >> </id> > >> <property name="IdPais" type="Int32" not-null="true"/> > >> <property name="NombrePais" type="String" length="100" > >> not-null="false"/> > >> <property name="Plantilla" type="BinaryBlob" not-null="true"/> > >> <property name="NombrePlantilla" type="String" length="50" > >> not-null="true"/> > >> <property name="Vigente" type="Boolean" not-null="true"/> > >> <property name="Tipo" type="String" length="20" not-null="true"/> > >> <property name="FechaCreacion" type="Timestamp" not-null="false"/> > >> <property name="FechaActualizacion" type="Timestamp" > not-null="false"/> > >> <property name="UsuarioCreacion" type="String" length="20" > >> not-null="false"/> > >> <property name="UsuarioActualizacion" type="String" length="20" > >> not-null="false"/> > >> </class> > >> </hibernate-mapping> > >> > >> > >> El 20 de mayo de 2011 20:20, Nestor Rodriguez <[email protected]> > >> escribió: > >>> > >>> Unexpected row count: -1 ?? usualmente este error sale con un > rowcount:0 > >>> pero no negativo. > >>> 2011/5/20 José F. Romaniello <[email protected]> > >>>> > >>>> Es como si al querer actualizar o eliminar un registro con determinado > >>>> ID ya no existiera en la base de datos. > >>>> Mostra un poco más de código, mappings etc..es muy difícil ayudar así. > >>>> > >>>> El 20 de mayo de 2011 18:57, Wallas <[email protected]> escribió: > >>>>> > >>>>> Hola Grupo, Necesito pedirles un favor especial y es el relacionado > >>>>> con un error con NHIBERNATE. Lo mas curioso de todo esto es que en el > >>>>> servidor de desarrollo y en otras máquinas todo funciona a la > >>>>> perfeccion, pero en producción esta arrojando el siguiente error: > >>>>> > >>>>> ERROR NHibernate.Impl.SessionImpl [(null)] <(null)> - could not > >>>>> synchronize database state with session > >>>>> NHibernate.StaleStateException: Unexpected row count: -1; expected: > >>>>> 1 at > >>>>> > >>>>> > NHibernate.AdoNet.Expectations.BasicExpectation.VerifyOutcomeNonBatched(Int32 > >>>>> rowCount, IDbCommand statement) at > >>>>> NHibernate.Impl.NonBatchingBatcher.AddToBatch(IExpectation > >>>>> expectation) > >>>>> at > >>>>> NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, > >>>>> Object[] fields, Object[] oldFields, Boolean[] includeProperty, Int32 > >>>>> j, Object oldVersion, Object obj, SqlCommandInfo sql, > >>>>> ISessionImplementor session) > >>>>> at > >>>>> NHibernate.Persister.Entity.AbstractEntityPersister.Update(Object id, > >>>>> Object[] fields, Int32[] dirtyFields, Boolean hasDirtyCollection, > >>>>> Object[] oldFields, Object oldVersion, Object obj, > ISessionImplementor > >>>>> session) > >>>>> at NHibernate.Impl.ScheduledUpdate.Execute() at > >>>>> NHibernate.Impl.SessionImpl.Execute(IExecutable executable) at > >>>>> NHibernate.Impl.SessionImpl.ExecuteAll(IList list) at > >>>>> NHibernate.Impl.SessionImpl.Execute() > >>>>> > >>>>> SI ALGUNO DE USTEDES ME PUDIERA HECHAR UNA MANO, LES ESTARÍA SUPER > >>>>> AGRADECIDO. > >>>>> > >>>>> -- > >>>>> Para escribir al Grupo, hágalo a esta dirección: > >>>>> [email protected] > >>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >>>> > >>>> -- > >>>> Para escribir al Grupo, hágalo a esta dirección: > >>>> [email protected] > >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >>> > >>> -- > >>> Para escribir al Grupo, hágalo a esta dirección: > >>> [email protected] > >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >> > >> > >> -- > >> Walter Molano > >> System Web Developer. > >> > >> > >> -- > >> Para escribir al Grupo, hágalo a esta dirección: > >> [email protected] > >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > > [email protected] > > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Walter Molano System Web Developer. -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
