Subject GDSException: message length error calling execute procedure
Author Ken Richard
I am having a little trouble tracking down a problem and am starting to
wonder if there is an error in the driver. I am trying to execute a
stored procedure using the "EXECUTE PROCEDURE" syntax with
Statement.execute(). The SQL statement works in ISQL - but fails when
using Statement.execute().

I want to execute this way because I have a text file of SQL statements
to execute. The file includes meta-data updates that work fine. Each
statement from the file is committed before the next is started.

The procedure in question has two input parameters and out output
parameter. I imagine the output parameter may be causing the problem.
I do not need to retain the output parameter in this case.

The SQLException is:

EXECUTE PROCEDURE procedure_name 'S1','S2'
ERROR [db.DbInitialize] Database Error
org.firebirdsql.jdbc.FBSQLException: GDS Exception. message length error
(encountered 0, expected 8)
at
org.firebirdsql.jdbc.FBStatement.execute(FBStatement.java:480)


The internal GDS exception is:

org.firebirdsql.gds.GDSException: message length error (encountered 0,
expected 8) at
org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1456)
at org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1374)
at org.firebirdsql.jgds.GDS_Impl.isc_dsql_execute2(GDS_Impl.java:702)
at
org.firebirdsql.jca.FBManagedConnection.executeStatement(FBManagedConnec
tion.java:592)
at
rg.firebirdsql.jdbc.FBConnection.executeStatement(FBConnection.java:1045
)
at
org.firebirdsql.jdbc.FBStatement.internalExecute(FBStatement.java:916)
at org.firebirdsql.jdbc.FBStatement.execute(FBStatement.java:471)


Any suguestions?