Hola Nuevamente. Por fin encontramos el problema del porqué no nos
estaba permitiendo guardar los registros en la BD. Hicimos lo que aqui
me sugirieron, como por ejemplo comparar esquemas , cambiar la cadena
de conexion de Produccion a desarrollo, Verificar HBM's, Verificar
versiones de BD etc.
Cuando se hizo el cambio de la Cadena de Conexion de Producción a
desarrollo, Guaaaalá.. Funcionó la aplicación. Entonces la gente de IT
inició con el proceso de verificar que configuración estaba impidiendo
el acceso a la BD para efectos de Inserción y actualización de
registros. Estando en ello, encontraron que en Producción el Parametro
NO COUNT definido sobre la Instancia,  estaba Habilitado y en
Desarrollo dicho parámetro se encuentra Deshabilitado. Pues en
desarrollo lo habilitaron y efectivamente no se pudo modificar el
registro.  Ahora el problema que se viene  es que la gente de IT  no
va a Cambiar ese valor. Se esta pensando en la posibilidad de crear
una nueva instancia, pero el problema es que la aplicación utiliza dos
BD para realizar todos sus procesos, y una BD quedaria en la Nueva
Instancia y la otra en la actual. Esto implicaría hacer bastantes
cambios y modificaciones, cosa que no es muy agradable. Despues de
todo este rollo, quiero preguntarles  cual creen ustedes que sea la
mejor opción para salir sin contratiempos de este embrollo?  O si hay
alguna forma de configurar a NHibernate para que trabaje sin problemas
cuando el NO COUNT este activo??

Bueno, no siendo más me despido agradeciendo nuevamente los aportes
hechos hasta el momento y los nuevos aportes que me puedan ofrecer de
aqui en adelante.

Saludos a todos y Mil gracias.!!!!!


On 23 mayo, 08:44, Nestor Rodriguez <[email protected]> wrote:
> Te sugeriria que usaras el Schema
> Validator<http://nhforge.org/blogs/nhibernate/archive/2008/11/22/nhibernate-sch...>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().BeginTran­saction();
> >>> >> >>             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(Int­32
> >>> >> >>>>> 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,
>
> ...
>
> leer más »- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

-- 
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