Posted 29 Jul 2011
Link to this post
hI Jan,
As mentioned I know the exception is getting generated when one of the identity keys (from combination key [2]) is null, but not sure if it is by design and if yes then does there exist any workaround for it.
The exception string generated is as below:
Telerik.OpenAccess.Exceptions.DataStoreException: System.ArgumentException: null oid not supported
at Telerik.OpenAccess.SPI.Backends.ThrowException(Exception e)
at Telerik.OpenAccess.RT.ExceptionWrapper.Throw()
at OpenAccessRuntime.common.StatesReturned.addImp(OID oid, State state, Boolean directFlag)
at OpenAccessRuntime.common.StatesReturned.add(OID key, State value_Renamed)
at OpenAccessRuntime.Relational.RelationalQueryResult.fetchManagedTypes(ApplicationContext context, Int32 fetchAmount, QueryResultContainer results)
at OpenAccessRuntime.Relational.RelationalQueryResult.fetchNextResultBatch(ApplicationContext context, QueryResultContainer results, Int32 fetchAmount) ---> System.ArgumentException: null oid not supported
at Telerik.OpenAccess.SPI.Backends.ThrowException(Exception e)
at Telerik.OpenAccess.RT.ExceptionWrapper.Throw()
at OpenAccessRuntime.common.StatesReturned.addImp(OID oid, State state, Boolean directFlag)
at OpenAccessRuntime.common.StatesReturned.add(OID key, State value_Renamed)
at OpenAccessRuntime.Relational.RelationalQueryResult.fetchManagedTypes(ApplicationContext context, Int32 fetchAmount, QueryResultContainer results)
at OpenAccessRuntime.Relational.RelationalQueryResult.fetchNextResultBatch(ApplicationContext context, QueryResultContainer results, Int32 fetchAmount)
--- End of inner exception stack trace ---
at Telerik.OpenAccess.SPI.Backends.ThrowException(Exception e)
at Telerik.OpenAccess.RT.ExceptionWrapper.Throw()
at OpenAccessRuntime.storagemanager.logging.LoggingStorageManager.executeQueryAll(ApplicationContext context, ImmutableQueryDetails query, CompiledQuery compiledQuery, QueryParameters parameters, Int32 skip, Int32 take)
at OpenAccessRuntime.DataObjects.UnsynchronizedPMProxy.getAllQueryResults(CompiledQuery cq, QueryParameters parameters, Int32 skip, Int32 take)
at OpenAccessRuntime.DataObjects.ForwardQueryResult.Resolve()
at OpenAccessRuntime.DataObjects.ForwardQueryResult.Initialize(Int32 indexParam)
at OpenAccessRuntime.DataObjects.ForwardQueryResult.get_Item(Int32 indexParam)
at Telerik.OpenAccess.RT.ListEnumerator.setCurrent(Int32 _pos)
at Telerik.OpenAccess.RT.ListEnumerator.Move(Int32 relative)
at Telerik.OpenAccess.RT.ListEnumerator.MoveNext()
at Telerik.OpenAccess.Query.ExpressionExecution.PerformDatabaseQuerySingle[TResult,T](Piece`1 piece, Int32& found, Int32 elemAt, Boolean single)
at Telerik.OpenAccess.Query.ExpressionExecution.PerformQuerySingle[T,TResult](Piece`1 piece, Expression expression)
at Telerik.OpenAccess.Query.Piece`1.System.Linq.IQueryProvider.Execute[TResult](Expression expr)
at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)
at Nabors.AdminScreens.DataLayer.DrillDownDAL.getAttributeDetails(Int64 DatamartId, Int64 AttributeId, String& errMsg) in C:\TFS\COMMONADMIN - DEV\SOURCE\AdminScreens\Nabors.AdminScreens.DataLayer\DrillDownDAL.cs:line 316
Thanks,
Sudeep Kukreti