I am trying to call a stored procedure in Oracle 10 that has two parameters (In, Out).
I've added the Stored Procedure to my EOModel:
Name: StudentCountReadyForApproval
Attributes:
Name: idSchool
Column: schoolId
Settings: do not allow nulls
Direction: In
Data Type: Integer
External Type: Number
Class: java.lang.integer
Precision:
Name: studentCount
Column: studentCount
Settings: do not allow nulls
Direction: Out
Data Type: Integer
External Type: Number
Class: java.lang.Integer
Precision:
When I call this stored procedure from my component:
NSMutableDictionary<String, Number> args =
new NSMutableDictionary<String, Number>();
args.setObjectForKey(session().loggedInSchool().idSchoolRO(),"idSchool");
args.setObjectForKey(0,
"studentCount");
EOUtilities.executeStoredProcedureNamed(localEditingContext(),"StudentCountReadyForApproval",
args.immutableClone());
I get the following error:
- === Begin Internal Transaction
evaluateExpression: <com.webobjects.jdbcadaptor.EROracleExpression: "{ call StuReadyForApproveCountTest (?, ?)}" withBindings: 1:1012(idSchool), 2:0(studentCount)>
- === Rollback Internal Transaction
- Exception while retrieving studentsReadyForApproval MassApproveTabContent: Unable to determine JDBC type for attribute 'studentCount' when preparing output parameter for stored procedure.
Any ideas for what I am missing or what I need to change?
Thanks in advance,
Paula