Thanks
you're it's quite ok but in Tomcat log there a little problem
QueryLogger: === updated 1 row. appears without stopping.
Is that normal???
My proc doesn't update anything :'(
I don't understand

Thanks
Marie

From: Andrus Adamchik <[EMAIL PROTECTED]>
Reply-To: [email protected]
To: [email protected]
Subject: Re: ProcedureQuery problem
Date: Mon, 27 Mar 2006 20:21:53 +0400

Hi Marie,

I noticed a mismatch between your procedure definition and Cayenne mapping:

<procedure name="GETEXAVALBR" returningValue="true">

"returningValue" should only be "true" for Oracle *functions*, not procedures. Try unchecking the corresponding checkbox in the Modeler.

Andrus




On Mar 27, 2006, at 8:16 PM, Marie Goutière wrote:

Hello
I've a problem pl/sql with a ProcedureQuery.
here's my java code :
ProcedureQuery query = new ProcedureQuery("GETEXAVALBR");
query.addParameter("idDevice", deviceId);
query.addParameter("codeMcoEnt", codeMco);
query.addParameter("dateQuestionBR", dateReview);
query.addParameter("codeForecast", forecastNum);

try{
List result =dgctContext.performQuery(query);
}
catch (Exception e){
// PB dans la requete return null
DgctLogger.error("DB Request GETEXIST2VALBR Failed");
DgctLogger.error(e.toString());
}

My proc stoc returns only one field of an oracle table

in my map.xml you can find :
<procedure name="GETEXAVALBR" returningValue="true">
<procedure-parameter name="valBr" type="VARCHAR" length="10" direction="out"/> <procedure-parameter name="idDevice" type="VARCHAR" length="10" direction="in"/> <procedure-parameter name="codeMcoEnt" type="VARCHAR" length="2" direction="in"/> <procedure-parameter name="dateQuestionBR" type="VARCHAR" length="10" direction="in"/> <procedure-parameter name="codeForecast" type="VARCHAR" length="10" direction="in"/>
</procedure>

and the declation of the procedure is :

CREATE OR REPLACE PROCEDURE GETEXAVALBR(
valBr OUT varchar,
idDevice IN varchar,
codeMcoEnt IN varchar,
dateQuestionBR IN varchar,
codeForecast IN varchar
) IS

here is the trace in tomcat :
QueryLogger: {? = call GETEXAVALBR(?, ?, ?, ?)} [bind: '[OUT]', 'NA485', '2', '01/02/2004', '18'] I don't know if the binding is correct but I always have the same error although i'tried a lot of things.
here is the PL/SQL error
PLS-00306: wrong number or types of arguments in call to 'GETEXAVALBR'

I've no Idea left
Can anyone rescue me???? :))
Thanks






Reply via email to