Re: Urgent: storedProcedure question

Francis Labrie <[email protected]> Fri, 13 Aug 2004 08:18:28 -0400
Newsgroups gmane.comp.web.webobjects.eof
Message-ID <[email protected]>
Hi,


Oliver Runge wrote:
> Yes it is oracle.


I've never used stored procedures with Oracle, but I've used them with 
Microsoft SQL Server and FrontBase and WebObjects since version 4.5. 
And depending on WebObjects and JDBC driver versions, I've experienced 
different kind of problem.

For example, there was a bug in the FrontBase JDBC driver: you must 
update your driver to a version released after May 2004 to avoid it.


> Datatypes in the database are VARCHAR for name and blob for content. 
> So I guess that should be fine. So how would I get a bad parameter 
> ordering if I access the parameters by name?


The way WebObjects bind parameters when invoking a stored procedure has 
changed a couple of time since 4.5. I strongly suggest you to enable 
EOF debugging to see how WebObjects invoke your stored procedure 
(-EOAdaptorDebugEnabled YES).

I'm not 100% sure, but for WebObject 5.2, I think in most case it 
simply calls the procedure without binding it explicitly to the column 
name. This probably depends on the EOF adpator plugin used, though.  
The column name is then only used to sort parameters, and this column 
name must contains letter to make it work reliably! The default 001, 
002, etc. will be turned into an Integer, and I thing the JDBC API 
expect a String. The column names must describe the correct order but 
it cannot be integer only.

For example, in the FrontBase case, to make it work with the new fixed 
JDBC driver, I've changed the column names in my EOModel from 001, 002, 
etc. to c1, c2 etc.


Kind regards,

--
Francis Labrie
Saint-Bruno-de-Montarville, Quebec, Canada