Take(int number) - Method on ObjectQuery causes ORA-03113
Posted: Thu 06 Aug 2009 08:32
Hi,
I don't know if anyone had experienced this phenomena before. I use an Entity SQL query against a database with userdata (firstname, surname,...) and want to limit the returned entites to a configurable amount of persons due to performance issues.
e.g.
I search for a person with lastname='MÜLLER' and want to restrict the results to let's say 100 persons (this would return over 1300 persons in my database) so i used:
C# Code:
This throws an Exception of type
ORA-03113: end-of-file on communication channel when too many persons are returned. What can this mean in the context of Take?
I've expected the Take-Method to translate into SQL as ROWNUM<100 (as far as I've read on blogs) and then return result set and convert it into a List of EntityFramework Business Objects of type Person.
Is my assumption as far as the Take-Method is concerned right and there's a problem with the dotConnectProvider regarding such statements or is the problem regarding my assumption. Can I anyone help me?
I am using VS2008, C# with Entity Framework as Data Access Layer/Mapper and an Oracle DB.
Best regards,
Martin
I don't know if anyone had experienced this phenomena before. I use an Entity SQL query against a database with userdata (firstname, surname,...) and want to limit the returned entites to a configurable amount of persons due to performance issues.
e.g.
I search for a person with lastname='MÜLLER' and want to restrict the results to let's say 100 persons (this would return over 1300 persons in my database) so i used:
C# Code:
Code: Select all
string queryString = "SELECT VALUE p FROM context.PERSON WHERE ToUpper(p.SURNAME)='MÜLLER';
ObjectQuery objectQueryPersons = new ObjectQuery(queryString, context);
List myPersons = objectQueryPersons.Take(100).ToList();
ORA-03113: end-of-file on communication channel when too many persons are returned. What can this mean in the context of Take?
I've expected the Take-Method to translate into SQL as ROWNUM<100 (as far as I've read on blogs) and then return result set and convert it into a List of EntityFramework Business Objects of type Person.
Is my assumption as far as the Take-Method is concerned right and there's a problem with the dotConnectProvider regarding such statements or is the problem regarding my assumption. Can I anyone help me?
I am using VS2008, C# with Entity Framework as Data Access Layer/Mapper and an Oracle DB.
Best regards,
Martin