The problem is that certain versions of Oracle drivers do not provide
correct (per JDBC spec) "boolean execute()" implementation.
Andrus
On Mar 28, 2006, at 12:40 PM, Marie Goutière wrote:
> We 're using the version 1.1.2 of Cayenne with Oracle 9i.
> But I want to know what exactly is the problem.
> Many 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 21:33:49 +0400
>>
>> 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 : Tue Mar 28 2006 - 04:00:42 EST