Page 1 of 1

Take(int number) - Method on ObjectQuery causes ORA-03113

Posted: Thu 06 Aug 2009 08:32
by developerVienna
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:

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();
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

Posted: Thu 06 Aug 2009 12:37
by AndreyR
I have just tried to reproduce the problem using dotConnect for Oracle 5.25.37 and Oracle 9i database.
The query returned first 100 from over 9K records.
Please specify your Oracle version and the version of dotConnect for Oracle you are using.

Posted: Fri 07 Aug 2009 12:55
by developerVienna
Hi,

thanks for your fast reply. Here are my infos:

I am currently working with dotConnectProvider for Oracle Version 5.20.33.0
and Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit.

I think maybe I should update the dotConnectProvider as I can see there's a new Version of the Provider available however I have to inquire it from the customers I am working with.

Greetings,
Martin