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
