The easiest way is to just put it in a select statement:
<select parameterClass="java.lang.String" resultClass="java.lang.Integer"> select myfunc( #someVal# ) from dual </select>
This will work if and only if the function has no DML statements.
HTH, Kris
Robert Dare wrote:
From JDBC I can call the function using a CallableStatement.
...Yes, I am currently creating a StoredProcedure which simply calls the function and returns the value.
-----Original Message-----
From: Larry Meadors [mailto:[EMAIL PROTECTED] Sent: Thursday, December 16, 2004 3:27 PM
To: Robert Dare; [EMAIL PROTECTED]
Subject: Re: Calling Oracle Stored Functions:
How do you call them from JDBC directly?
Can you call the function from a procedure in oracle? There may be an easier way, but it seems like this would be an immediate option for you.
Larry
"Robert Dare" <[EMAIL PROTECTED]> 12/16/04 1:07 PM >>>
Hi All,
Is there a way to call Oracle functions (not stored procedures) from iBATIS?
I have iBATIS and Oracle Stored Procedures working without issue on Oracle 8i. I have to support some Legacy procedures that are written as Oracle stored functions.
When I tried accessing these functions as stored procedures, I got an Oracle invalid SQL exceptions: (tried this with a parameterMap, and parameter class with inline mapping with
same results):
<procedure id="confirmOrder" parameterMap="confirmation_params"
resultClass="java.lang.Long" >
{ ?=call porders.createconfirmation (?,?,?)} </procedure>
I tried accessing the function like this:
<statement id="confirmOrderStmt" parameterClass="OrderConfirmation"
resultClass="java.lang.Long">
[CDATA[ begin
? := porders.createconfirmation (
#orderId#,
#vendorId#,
#vendorOrderId#); end;
]]
</statement>
The above fails, Oracle complains about unbound parameters. Changing the ? to #confirmationId# (a field in the resultClass), results in an "invalid column type" sql exception. I also tried some inline mapping as in #confirmationId:mode=OUT#, but that didn't help.
Regards,
Rob.
-- Kris Jenkins Email: [EMAIL PROTECTED] Blog: http://cafe.jenkster.com/ Wiki: http://wiki.jenkster.com/

