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
