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

Reply via email to