Topic
  • No replies
SystemAdmin
SystemAdmin
2826 Posts

Pinned topic Expand problem with odata informix

‏2012-12-20T21:51:51Z |
Hi,

I got a very strange Problem with an odata Service,

When I put the following Request to my service, the result is OK

http://localhost:53733/WcfDataService1.svc/artikel?$filter=a_nr eq '0101030' & $expand=artgruppe,artinhalt/inhaltstoff

datamodel description

artikel has one artgruppe, and several artinhalt

one artinhalt references one inhaltstoff
when I query in the way above, I get a correct result.

when I query

http://localhost:53733/WcfDataService1.svc/artikel?$filter=a_nr eq '0101030' & $expand=artinhalt/inhaltstoff

I get a Syntax Error From Odata which cannot be really the expected result :
<error
xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">

<message
xml:lang="de-DE">Fehler beim Verarbeiten
dieser Anforderung.</message>
  • <innererror>

<message>Fehler beim Ausführen der Befehlsdefinition. Weitere Informationen
finden Sie in der internen Ausnahme.</message>
<type>System.Data.EntityCommandExecutionException</type>
<stacktrace>bei
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior behavior) bei
System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecuteTResultType(ObjectContext
context, ObjectParameterCollection parameterValues) bei
System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) bei
System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
bei
System.Data.Services.Providers.BasicExpandProvider.ExpandedQueryable`1.GetEnumerator()
bei
System.Data.Services.Providers.BasicExpandProvider.ExpandedQueryable`1.System.Collections.IEnumerable.GetEnumerator()
bei System.Data.Services.WebUtil.GetRequestEnumerator(IEnumerable enumerable)
bei System.Data.Services.DataService`1.SerializeResponseBody(RequestDescription
description, IDataService dataService, IODataResponseMessage responseMessage)
bei System.Data.Services.DataService`1.HandleNonBatchRequest(RequestDescription
description) bei System.Data.Services.DataService`1.HandleRequest()</stacktrace>
  • <internalexception>

<message>ERROR 42000 IBMIDS/UNIX32 A syntax error has
occurred.</message>
<type>IBM.Data.DB2.DB2Exception</type>
<stacktrace>bei IBM.Data.DB2.DB2Command.ExecuteReaderObject(CommandBehavior
behavior, String method, DB2CursorType reqCursorType, Boolean
abortOnOptValueChg, Boolean skipDeleted, Boolean isResultSet, Int32 maxRows,
Boolean skipInitialValidation) bei
IBM.Data.DB2.DB2Command.ExecuteReaderObject(CommandBehavior behavior, String
method) bei IBM.Data.DB2.DB2Command.ExecuteReader(CommandBehavior behavior) bei
IBM.Data.DB2.DB2Command.ExecuteDbDataReader(CommandBehavior behavior) bei
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) bei
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand
entityCommand, CommandBehavior behavior)</stacktrace>

</internalexception>

</innererror>
</error>
unfortunately I don ´t know what is generated because the profiler just traces only syntactical correct queries ...

In my opinion this is a bug , I already tried to submit this in connect with a less detailed explanation but got no comments until now.
Thank you for any helpful information