db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mamta Satoor <msat...@gmail.com>
Subject Re: [jira] Commented: (DERBY-501) Client and embedded drivers differ on invoking a procedure that returns a single Dynamic resultSet using CallableStatement.executeQuery()
Date Fri, 12 Aug 2005 16:34:32 GMT
Satheesh,
 The url below does not work. Can you please fix it?
 thanks,
Mamta
 On 8/11/05, Satheesh Bandaram (JIRA) <derby-dev@db.apache.org> wrote: 
> 
> [ 
> http://issues.apache.org/jira/browse/DERBY-501?page=comments#action_12318543]
> 
> Satheesh Bandaram commented on DERBY-501:
> -----------------------------------------
> 
> Just checked JDBC 4.0 spec... It confirms CallableStatement.executeQuery() 
> should be supported for Stored Procedures that return a single resultset. 
> See section 13.3.3.1 <http://13.3.3.1>.
> 
> > Client and embedded drivers differ on invoking a procedure that returns 
> a single Dynamic resultSet using CallableStatement.executeQuery()
> > 
> -----------------------------------------------------------------------------------------------------------------------------------------
> >
> > Key: DERBY-501
> > URL: http://issues.apache.org/jira/browse/DERBY-501
> > Project: Derby
> > Type: Bug
> > Components: JDBC
> > Versions: 10.0.2.1 <http://10.0.2.1>, 10.1.1.0 <http://10.1.1.0>
> > Environment: All Platforms
> > Reporter: Satheesh Bandaram
> > Attachments: Test.java, Test1.java
> >
> > It is possible to invoke a stored procedure that returns a single 
> dynamic result using CallableStatement.executeQuery using Derby Client. 
> The embedded JDBC driver, however, throws an exception like:
> > Test starting ...url = jdbc:derby:tdb
> > Exception in thread "main" ERROR X0Y78: Statement.executeQuery() cannot 
> be called with a statement that returns a row count.
> > at org.apache.derby.iapi.error.StandardException.newException(
> StandardException.java:301)
> > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(
> GenericPreparedStatement.java:434)
> > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(
> EmbedStatement.java:1142)
> > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(
> EmbedPreparedStatement.java:1323)
> > at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(
> EmbedCallableStatement.java:109)
> > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(
> EmbedPreparedStatement.java:241)
> > at Test1.main(Test1.java:26)
> > I think the embedded driver behavior is incorrect here, though I would 
> double check that the JDBC spec says.
> > To reproduce the problem,
> > 1) Create a database called 'tdb' and a table called COMPANY as create 
> table COMPANY(name char(10));
> > 2) Insert two rows as: insert into COMPANY values 'IBM', 'SUN';
> > 3) register a procedure as:
> > CREATE PROCEDURE GETALLCOMPANIES() PARAMETER STYLE JAVA LANGUAGE JAVA 
> READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 'Test.getAllCompanies'
> > 4) Set server classpath
> > 5) Compile two attached java programs, Test and Test1
> > 6) Execute 'java Test1 1' to run as a client program and 'java Test1 2' 
> to run as an embedded program.
> 
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
> 
>

Mime
View raw message