Subject | Re: [firebird-support] "Invalid Request Handle" with stored procedures |
---|---|
Author | Helen Borrie |
Post date | 2003-09-11T23:18:25Z |
At 07:05 PM 11/09/2003 +0000, you wrote:
Do include the Firebird version in your questions. We currently have two
distinct Firebird versions in the "hit-list".
This error can occur with SPs when you call EXECUTE on a SP that returns a
multi-row dataset. You need to make a SELECT call on such SPs, selecting
the output parameters of the SP in the column list of the SELECT statement.
The ODBC driver and the Delphi components used in IBOConsole can then
prepare the appropriate client-side container, with objects of the right
size and type to accept the columns. This preparation step has to
happen; and if the structure of the return structure doesn't "fit" you
will get one or both of the messages you report. One can only guess about
why your queries succeed in isql; but isql uses an internal interface to
the API, whereas ODBC and Delphi use the structures returned by the API call.
We could help you better if you would supply the SQL and the method call
that throws this exception.
heLen
>Hey all.Sorry, I hit the Send button too soon.
>I'm just getting started with this here Firebird, and I've setup a
>bunch of stored procedures to do various searches, etc. When I use
>these SPs in ISQL, they work normally.
>
>When I try and call the SPs from my VB application, I get an
>error: "Message length error (encountered 0, expected 64)"
>or "Invalid request handle", depending on how I word the query
>(forget the ";") I'm accessing the database via the latest ODBC
>driver at IBPhoenix. So, I figure it's the ODBC driver.
>
>Not so fast! IBOConsole also gives the same "Invalid request handle"
>in its own ISQL tool, which is set to local - and therefore not over
>odbc.
>
>Has anyone else had a problem with "Invalid request handle"
>or "Message length error"? Any suggesstions?
Do include the Firebird version in your questions. We currently have two
distinct Firebird versions in the "hit-list".
This error can occur with SPs when you call EXECUTE on a SP that returns a
multi-row dataset. You need to make a SELECT call on such SPs, selecting
the output parameters of the SP in the column list of the SELECT statement.
The ODBC driver and the Delphi components used in IBOConsole can then
prepare the appropriate client-side container, with objects of the right
size and type to accept the columns. This preparation step has to
happen; and if the structure of the return structure doesn't "fit" you
will get one or both of the messages you report. One can only guess about
why your queries succeed in isql; but isql uses an internal interface to
the API, whereas ODBC and Delphi use the structures returned by the API call.
We could help you better if you would supply the SQL and the method call
that throws this exception.
heLen