cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: procedures in package not correctly called
Date Mon, 24 Jan 2011 12:43:20 GMT
Yeah, there's no proper catalog support when Cayenne builds fully qualified names. You may
enter "PKG1.SCH" as your schema name. 

Separately we may discuss the need for supporting JDBC "catalogs" in Cayenne separately from
"schemas".

Andrus


On Jan 24, 2011, at 2:24 PM, David Balažic wrote:
> Hi!
> 
> Using cayenne 3.0.1 with Oracle 10g DB, I discovered a problem with stored procedures.
> 
> First I used the modeller to reengineer existing stored procedures.
> 
> It created this mapping:
> 
> <procedure name="PROC_1" schema="SCH" catalog="PKG1">
> (parameters omitted)
> 
> When calling the procedure from Java code like this:
> 
> ProcedureQuery q = new ProcedureQuery("PROC_1");
> q.addParameter("PAR1", "value1");
> // parameters...
> context.performQuery(q);
> 
> This makes this SQL call:
> 
> {call SCH.PROC_1(?, ?, ?, ?)}
> 
> Which is wrong. The DB returns:
> ORA-06550: line 1, column 7:
> PLS-00201: identifier 'SCH.PROC_1' must be declared
> 
> The correct call would be:
> 
> {call SCH.PKG1.PROC_1(?, ?, ?, ?)}
> 
> At least this is what works when run directly (JDBC or sql tool from
> Oracle: SqlPlus)
> 
> Regards,
> David
> 
> David Balažic
> Software Engineer
> 
>    ComTrade
> 
>    Litijska 51, 1000 Ljubljana
>    Slovenia
> 
>    phone: +386 81 60 8937
>    fax: +386 1 586 52 70
> 
> www.comtrade.com
> 


Mime
View raw message