Te sugeriria que usaras el Schema Validator<http://nhforge.org/blogs/nhibernate/archive/2008/11/22/nhibernate-schemavalidator.aspx>con tu base de datos que tiene problemas para que idientifiques si algo puede estar faltando.
2011/5/23 Marcos Mellibovsky <[email protected]> > Hace poco me paso algo parecido y era porque alguien habia agregado un > trigger en produccion que no funcionaba bien. Te sugeriria que uses alguna > herramienta de comparacion de esquemas de las bases y ya que esta te > generas script de comparacion para poder ejecutarlo periodicamente. > > > Saludos > > > > Ing. Marcos Mellibovsky > ARSoft Consultoría Informática > [email protected] > 0351 155630801 > msn:[email protected] > > > > > 2011/5/21 Walter Molano <[email protected]> > >> Hola nelo, Nuevamente gracias por tus aportes. Las preguntas que me haces >> las debo resolver el lunes a primera hora. La verdad el problema se >> desencadeno ayer viernes y no pudimos hacerle un seguimiento detallado. Pero >> el lunes debo darle alguna solucion a ese problema, espero poder contar con >> la colaboracion de la gente de IT de esa empresa.. cualquier cosa te estare >> comentando. Muchas Gracias y tendre muy encuenta tus sugerencias. >> >> Bye. >> >> El 21 de mayo de 2011 11:26, [email protected] < >> [email protected]> escribió: >> >> También les podés pedir que te generen un script con la estructura de >>> las tablas y crear vos una db con ese script. >>> >>> ¿chequeaste que los archivos de configuración de nh sean iguales? >>> ¿tenés la misma versión de base de datos en los distintos ambientes? >>> ¿en producción tenés alguna diferencia como por ejemplo una granja de >>> bases de datos? >>> >>> saludos. >>> nelo >>> >>> 2011/5/21 Walter Molano <[email protected]>: >>> > 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 >>> >>> -- >>> 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
