What version of Cayenne and Oracle do you have? It looks like you are
hitting this issue:
http://objectstyle.org/jira/browse/CAY-464
It is fixed in 1.2M12 (but note that you have to use the auto-
adapter, i.e. do not enter DataNode adapter name for the fix to work)
Andrus
On Mar 27, 2006, at 9:11 PM, Marie Goutière wrote:
>
> 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 <andru..bjectstyle.org>
>> Reply-To: cayenne-use..ncubator.apache.org
>> To: cayenne-use..ncubator.apache.org
>> 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
>>>
>>>
>>>
>>
>
>
>
This archive was generated by hypermail 2.0.0 : Mon Mar 27 2006 - 12:34:15 EST