이 문제가 무엇입니까?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 실제로 두 개의 레코드 집합을 반환했습니다; 매우 일반적이며 식별 가능한 상황 (또한 하나의 문제는 문제가되지 않지만)이 상황이 실행 텍스트에서 식별되는 곳은 무엇입니까?