Hola, Gracias por la pronta respuesta, habian algunas de las
inconsistencias en las clases y mapeos que copie que ya estan
correidos, pero aun sigue dando el error.
Aca pego el error completo:

 NHibernate.ADOException: could not execute query
[ exec [sp_consumo] @nro_trabajad...@p0, @cod_empre...@p1,
@cod_plan...@p2 ]
  Name:empRut - Value:13907559  Name:cod_empresa - Value:350
Name:cod_planta - Value:380
[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)
   en NHibernate.Type.NullableType.NullSafeGet(IDataReader rs,
String[] names, ISessionImplementor session, Object owner)
   en NHibernate.Type.AbstractType.Hydrate(IDataReader rs, String[]
names, ISessionImplementor session, Object owner)
   en
NHibernate.Persister.Entity.AbstractEntityPersister.Hydrate(IDataReader
rs, Object id, Object obj, ILoadable rootLoadable, String[][]
suffixedPropertyColumns, Boolean allProperties, ISessionImplementor
session)
   en NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32
i, Object obj, String instanceClass, EntityKey key, String rowIdAlias,
LockMode lockMode, ILoadable rootPersister, ISessionImplementor
session)
   en NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader dr,
Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, String
rowIdAlias, EntityKey optionalObjectKey, Object optionalObject, IList
hydratedObjects, ISessionImplementor session)
   en NHibernate.Loader.Loader.GetRow(IDataReader rs, ILoadable[]
persisters, EntityKey[] keys, Object optionalObject, EntityKey
optionalObjectKey, LockMode[] lockModes, IList hydratedObjects,
ISessionImplementor session)
   en NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader
resultSet, ISessionImplementor session, QueryParameters
queryParameters, LockMode[] lockModeArray, EntityKey
optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean
returnProxies)
   en NHibernate.Loader.Loader.DoQuery(ISessionImplementor session,
QueryParameters queryParameters, Boolean returnProxies)
   en
NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor
session, QueryParameters queryParameters, Boolean returnProxies)
   en NHibernate.Loader.Loader.DoList(ISessionImplementor session,
QueryParameters queryParameters)
   --- Fin del seguimiento de la pila de la excepción interna ---
   en NHibernate.Loader.Loader.DoList(ISessionImplementor session,
QueryParameters queryParameters)
   en
NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor
session, QueryParameters queryParameters)
   en NHibernate.Loader.Loader.List(ISessionImplementor session,
QueryParameters queryParameters, ISet`1 querySpaces, IType[]
resultTypes)
   en NHibernate.Loader.Custom.CustomLoader.List(ISessionImplementor
session, QueryParameters queryParameters)
   en NHibernate.Impl.SessionImpl.ListCustomQuery(ICustomQuery
customQuery, QueryParameters queryParameters, IList results)
   en NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification
spec, QueryParameters queryParameters, IList results)
   en NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification
spec, QueryParameters queryParameters)
   en NHibernate.Impl.SqlQueryImpl.List()
   en ECR.Feriados.Business.EmpleadoBusiness.SelectConsumobyRut(String
cod_cia, String cod_empresa, String cod_planta, String empRut) en D:
\mis documentos\Visual Studio 2008\Projects\ECR.WS
\ECR.Feriados.Business\EmpleadoBusiness.cs:línea 65
   en ECR.WS.Feriados.Service.GetConsumoEmpleado(String cod_cia,
String cod_empresa, String cod_planta, String empRut) en D:\mis
documentos\Visual Studio 2008\Projects\ECR.WS\ECR.WS.Feriados
\Service.asmx.cs:línea 68


Gracias por vuestra ayuda......

Atte.
Mario.


On 7 jul, 12:57, Edgar Ramos <[email protected]> wrote:
> 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