Subject Re: [IBO] Integer Overflow Exception - TIB_StoredProc
Author Lucas Franzen
Gunther,

G. Nau schrieb:
> Helen,
> i switched to IB_Cursor and use a "close" after each "execute" of a
> stored procedure.
> But the overflow is happening at the same place within
> IB_components after a large number of calls to the storedprocedure.
> During a quick scan through ib_components.pas I can't find any
> statements decreasing the value of FcursorGen (only setting it back
> to zero in case of an exception).
> is there still something wrong the way I'm calling the stored
> procedure?

Yes, as long there is a SUSPEND in the procedure you DON'T EXECUTE it,
you SELECT from it!

CREATE PROCEDURE SP_SUSPEND ( RETURNS I INTEGER )
AS
BEGIN
I = 1;
SUSPEND;
END

This procedure is called from a IB_Cursor or IB_Query with:
SELECT * FROM SP_SUSPEND
the Query will be OPENed, for the Cursor use the FIRST method,
afterwards both should be CLOSEd.



CREATE PROCEDURE SP_EXECUTE ( RETURNS I INTEGER )
AS
BEGIN
I = 1;
END

This procedure is either called with a TIB_StoredProc or TIB_DSQL (SQL =
"EXECUTE PROCEDURE SP_EXECUTE") component which shoukld be EXECUTEd or
use the ExecSQL method.


Luc.