Maybe you misunderstood what I said, I meant I exacute SQL command on the Virtual database console ,not calling stored procedures by JDBC in the programme. Thanks.
在2009-11-19 01:45:37,"Emmanuel Cecchet" <m...@frogthinker.org> 写道: Hi, The sequoia mailing list has moved to sequoiadb-disc...@lists.sourceforge.net Hi everyone, presently I encounter a problem about how to call procedures through sequoia virtual database console. Suppose a backend has a procedure in the form 'proc(IN id integer not null,IN name char(32) not null, IN score float with null)'. And I tried executing the procedure like this: {call proc(101,'student',80.0)} But such statement will raise exceptions from backend database which says errors like "invalid procedure call syntax". So I debugged the source code only to find the exceptions occurs from AbstractLoadBalancer.java, in function AbstractLoadBalancer::setupCallableStatement(), statement "cs = c.prepareCall(backend.transformQuery(proc)); ". If I executed like this: {call proc(?,?,?)} The above exception will disappear but no parameters in the procedure was assigned any value. So is this a bug in source code ? Or if not, how can I call the procedure correctly? If you use a CallableStatement, you are suppose to call a stored procedure this way: CallableStatement cs = connection.prepareCall({call proc(?,?,?)}); cs.setInt(1, 101); cs.setString(2, "student"); cs.setFloat(3, 80.0); cs.executeQuery() or cs.executeUpdate() depending on the result returned. Check for CallableStatement examples in the JDBC documentation. Thanks for your interest in Sequoia. Emmanuel -- Emmanuel Cecchet FTO @ Frog Thinker Open Source Development & Consulting -- Web: http://www.frogthinker.org email: m...@frogthinker.org Skype: emmanuel_cecchet
_______________________________________________ Sequoia mailing list Sequoia@lists.forge.continuent.org http://forge.continuent.org/mailman/listinfo/sequoia