Que sigue despues de los puntos suspensivos

en System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
  en NHibernate.Driver.NHybridDataReader.GetOrdinal(String name)
  en NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String
name)..........  ?

Saludos

Edgar



El día 7 de julio de 2010 08:54, Mario <[email protected]> escribió:
> Hola amigos, estoy desarrollando una apliaccion(Visual Studio 2008) de
> 3 capas con nhibernate, cuando ejecuto un procedimiento en la base de
> dastos(SqlServer 2005), funciona sin problemas( lo ejecuto tal cual lo
> hace  Nhibernate), pero lo corro a traves de mi apliación,  y arroja
> el siquiente error:
>
> NHibernate.ADOException: could not execute query
> [ exec [sp_consumo] @nro_trabajad...@p0, @cod_empre...@p1,
> @cod_plan...@p2 ]
>  Name:empRut - Value:123123123  Name:cod_empresa - Value:390
> Name:cod_planta - Value:360
> [SQL: exec [sp_consumo] @nro_trabajad...@p0, @cod_empre...@p1,
> @cod_plan...@p2] ---> System.IndexOutOfRangeException:
> fec_inicio_feriado
>   en System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String
> fieldName)
>   en System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
>   en NHibernate.Driver.NHybridDataReader.GetOrdinal(String name)
>   en NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String
> name)..........
>
> Sucede aunque que quiera retornar toda la clase o solo un valor de es,
> la tabla tiene mas campos de los que he mapeado.
>
> Cabe señalar que la base de datos ya existe y no puedo hacer cambios
> en ella.
> La clase y los mapeos son los siguientes:
>
> Clase C#:
>
>   public partial class ConsumoTrabajador
>    {
>        private Int32 _nro_operacion;
>        private String _periodo;
>        private Decimal _num_dias_feriados;
>        private String _estado;
>        public ConsumoTrabajador()
>        {
>
>        }
>        public virtual Int32 nro_operacion
>        {
>            get { return _nro_operacion; }
>            set { _nro_operacion = value; }
>        }
>        public virtual String periodo
>        {
>            get { return _periodo; }
>            set { _periodo = value; }
>        }
>        public virtual Decimal num_dias_feriados
>        {
>            get { return _num_dias_feriados; }
>            set { _num_dias_feriados = value; }
>        }
>        public virtual String estado
>        {
>            get { return _estado; }
>            set { _estado = value; }
>       }
>    }
> }
>
> Mapeo de la clase:
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo"
> namespace="XXX.XXX.Domain" assembly="XXX.XXX.Domain">
>  <class name ="ConsumoTrabajador" table="movimient_frds">
>    <id name="nro_operacion" column="nro_operacion" type
> ="System.Int32"/>
>    <property name="periodo" column="fec_inicio_feriado" />
>    <property name="num_dias_feriados" column="num_dias_feriados" />
>    <property name="estado" column="cod_feriado_solici"/>
>  </class>
> </hibernate-mapping>
>
> Mapeo de la Query:
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo"
>        namespace="ECR.Feriados.Domain" assembly="ECR.Feriados.Domain">
>  <sql-query name="ConsumoTrabajadorbyRut" callable="true">
>    <query-param name="nro_trabajador" type="System.Int32"/>
>    <query-param name="cod_empresa" type="System.Int32"/>
>    <query-param name="cod_planta" type="System.Int32"/>
>    <return  class="ConsumoTrabajador">
>    </return>
>    exec [sp_consumo] @nro_trabajador=:empRut,
> @cod_empresa=:cod_empresa, @cod_planta=:cod_planta
>  </sql-query>
> </hibernate-mapping>
>
> Asi ejecuto del Procedimiento Almacenado:
>
> PersistenceManager pesrt = new
> PersistenceManager(PersistenceManager.SessionConexion.Sessionstring.ToString(),
> cnxb);
>
>            IQuery iquery =
> pesrt.sesion.GetNamedQuery("ConsumoTrabajadorbyRut");
>            iquery.SetParameter("empRut",
> int.Parse(empRut.ToString()));
>            iquery.SetParameter("cod_empresa",
> int.Parse(cod_empresa.ToString()));
>            iquery.SetParameter("cod_planta",
> int.Parse(cod_planta.ToString()));
>            return iquery.List<ConsumoTrabajador>();
>
>
>
> El error me parece que se genera al tratar de llenar el Objeto, pero
> no se como solucionarlo.
>
> Espero me puedan ayudar he revisado en google durante un dia completo
> y no en cuentro solucion.
>
>
> Gracias.
>
> --
> 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