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

Responder a