Stored Procedure Parameter Error with REF_CURSOR

Discussion of open issues, suggestions and bugs regarding Entity Framework support in ADO.NET Data providers
Post Reply
rsmerker
Posts: 2
Joined: Thu 20 May 2010 20:35

Stored Procedure Parameter Error with REF_CURSOR

Post by rsmerker » Thu 20 May 2010 21:02

We just started working with the dotConnect for Oracle and are working with the Entity framework. One of our tasks is to call a few stored procedures which return ref_cursors, and I am having a problem only when using the DevArt Entity Developer v2.80.116.

Our Stored Procedure test is very simple:

CREATE OR REPLACE PROCEDURE GETDATASET(dataset OUT SYS_REFCURSOR) IS
BEGIN
OPEN dataset FOR
select * from mytable
END GETDATASET;

If I open a new web project, add a DevArt Entity Diagram, and drag the stored procedure from the database browser to the diagram, it creates a Complex Type with all my returned columns in it, and creates a method just as it should. Everything looks fine. However when I execute the method like so :

TestModel model = new TestModel();
var result = model.GetDataSet();

I get the following :

ORA-06550:line 2, column 3: PLS-00306:wrong number or types of arguments in call to 'GETDATASET'

If I click on the Stored proc under the Store in the model explorer, it tells me that the return type of this store proc is None. None of the checkboxes are checked, Result Set Parameter is blank, and there are no parameters in the parameters tab. Under the method it created there are also no parameters specified in the parameters tab. I tried checkin some of these and changing options around, but nothing helps.

Now the funny thing is, if I try using microsofts entity designer, and modify the XML it creates (Like your help file says) - it returns this just fine. I thought the whole reason for using your entity developer is so that things like this would work seamlessly - am I doing something wrong? Our test couldnt be simpler (Its right out of your REF CURSOR tutorial in the help file) - I am hoping maybe you can point me in the right direction?

Thank you!

AndreyR
Devart Team
Posts: 2919
Joined: Mon 07 Jul 2008 13:16

Post by AndreyR » Wed 26 May 2010 16:31

Thank you for the report, I have reproduced the problem. I will let you know as soon as it is fixed.

stratdaz
Posts: 23
Joined: Tue 04 May 2010 00:46

Post by stratdaz » Tue 22 Jun 2010 04:40

Did anyone get an answer on this issue?

I'm having similar trouble with a call to an EasyObjects procedure that contains a REF CURSOR output parameter.

rsmerker
Posts: 2
Joined: Thu 20 May 2010 20:35

Post by rsmerker » Wed 23 Jun 2010 21:10

I have not heard anything else other than the previous post saying that it had been reproduced. Any idea on when it will be fixed? If it wont be soon I will have to find another way around this.

Thanks!

Shalex
Site Admin
Posts: 9543
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Thu 24 Jun 2010 14:50

Please try the latest (5.70.140) version of dotConnect for Oracle. I cannot reproduce the problem with this version.

For more information about using REF CURSOR as out parameter, refer to our tutorial:
http://www.devart.com/dotconnect/oracle ... rsors.html.
Supplement to the mentioned tutorial.
The GET_DEPT_PROC() returns a collection of records from the DEPT table (you will find its DDL in the previous tuturial). So you need to add the Dept EntityClass to your model additionally to the GetDeptProc EntityMethod. Some interface and functionality was changed since this tutorial was created. E.g.: there is a Value Types list in Method Editor instead of Entities dropdown (as tutorial's screenshot illustrates), because we have added support for multi result sets.

Post Reply