2016-07-08 2 views
0

이 문제가 무엇입니까?nHibernate 결과 변환기 오류

쿼리를 잘라내어 SSMS의 스크립트에 붙여 넣으면 (그리고 쿼리로 적절히 형식화하면) 코드가 SQL로 오류없이 실행됩니다. 그래서 문제는 답장입니다.

'yourordernumber'는 hbm.xlm 매핑의 문자열로 정의되며 SQL Server에서 varchar로 반환됩니다.

두 가지 질문이 더 많습니다. 오류 예외 메시지에 쿼리 스크립트에 단순 잘라내어 붙여 넣기 텍스트가 포함되어 있지 않은 이유는 무엇입니까? 그리고, 왜 오류 텍스트가 실제로 문제가 무엇인지 말해 줄 수 없습니까?

NHibernate.Exceptions.GenericADOException was unhandled by user code 
    HResult=-2146232832 
    Message=could not execute query 
[ exec OrderLinUpdate 
     @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] ] 
    Name:Mode - Value:Add Name:OrderHdrRecid - Value:51 Name:LinNo - Value:-1 Name:ItemRecid - Value:97 Name:QtyRequested - Value:1 Name:LoadIDsList - Value:OS 001.0001.1??20300 Name:ItemSelectMethod - Value:SearchLoadID Name:ModifiedBy - Value:0 
[SQL: exec OrderLinUpdate 
     @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected]] 
    Source=NHibernate 
    SqlString=exec OrderLinUpdate 
     @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
     , @[email protected] 
    StackTrace: 
     at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer) 
     at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters) 
     at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes) 
     at NHibernate.Impl.SessionImpl.ListCustomQuery(ICustomQuery customQuery, QueryParameters queryParameters, IList results) 
     at NHibernate.Impl.AbstractSessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters, IList results) 
     at NHibernate.Impl.AbstractSessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters) 
     at NHibernate.Impl.SqlQueryImpl.List() 
     at NHibernate.Impl.AbstractQueryImpl.UniqueResult() 
     at TKOSMERP.Controllers.ERP.ERPController.OrderLinUpdate(FormCollection pd) in C:\_TKOSVNRepos\TKOSM_ERP\TKOSM_ERP\Controllers\ERP\ERPController_ODELine.cs:line 36 
     at lambda_method(Closure , ControllerBase , Object[]) 
     at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) 
     at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) 
     at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 
     at System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) 
     at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) 
     at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End() 
     at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 
     at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() 
     at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() 
    InnerException: 
     HResult=-2146233080 
     Message=yourordernumber 
     Source=System.Data 
     StackTrace: 
      at System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String fieldName) 
      at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name) 
      at NHibernate.Driver.NHybridDataReader.GetOrdinal(String name) 
      at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name) 
      at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name, ISessionImplementor session, Object owner) 
      at NHibernate.Loader.Custom.CustomLoader.ScalarResultColumnProcessor.Extract(Object[] data, IDataReader resultSet, ISessionImplementor session) 
      at NHibernate.Loader.Custom.CustomLoader.ResultRowProcessor.BuildResultRow(Object[] data, IDataReader resultSet, Boolean hasTransformer, ISessionImplementor session) 
      at NHibernate.Loader.Custom.CustomLoader.GetResultColumnOrRow(Object[] row, IResultTransformer resultTransformer, IDataReader rs, ISessionImplementor session) 
      at NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies, IResultTransformer forcedResultTransformer) 
      at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer) 
      at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer) 
      at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer) 
     InnerException: 

- 업데이트 알아 냈습니다. 쿼리가 실행 중일 때 추가적인 문 제를 'select' 실행했습니다. 그래서 proc 실제로 두 개의 레코드 집합을 반환했습니다; 매우 일반적이며 식별 가능한 상황 (또한 하나의 문제는 문제가되지 않지만)이 상황이 실행 텍스트에서 식별되는 곳은 무엇입니까?

답변

0

나는 그것을 알아 냈다. 실행중인 쿼리에서 추가로 문제 해결 '선택'문을 사용했습니다. 그래서 proc 실제로 두 개의 레코드 집합을 반환했습니다; 매우 일반적이며 식별 가능한 상황 (또한 하나의 문제는 문제가되지 않지만)이 상황이 실행 텍스트에서 식별되는 곳은 무엇입니까?