Subject RE: [IBO] 4.9.14b32 - Problem with executable SP and output parameters
Author IBO Support List
Thomas,

I ended up doing a bit more than this, but here is the critical part that
will get you past the worst aspect of the problem if you want to stick it in
your code.


IB_Components around line 23270 in this method:

procedure TIB_Statement.API_Execute2( ATran: TIB_Transaction );
...
else
HandleException( Self );
end;
// Add in this line of code below.
FWasSingleton := Assigned( Out_DA );
end;
end;

Regards,
Jason

-----Original Message-----
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On Behalf
Of Thomas Steinmaurer
Sent: 10 January 2012 03:18 PM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
parameters

Hello Jason,

> I found the problem and have fixed it. It will be in the next release.

Excellent!

> If you need a quick patch for your current version, send me your version
you
> want to stay with and I will merge in the fix and send it back to you.

I wait for the next release. Just hoped that a fix will be included in
the next release so that I can move forward.

Thanks again.

Thomas


> Jason
>
> -----Original Message-----
> From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On
Behalf
> Of IBO Support List
> Sent: 10 January 2012 02:41 PM
> To: IBObjects@yahoogroups.com
> Subject: RE: [IBO] 4.9.14b32 - Problem with executable SP and output
> parameters
>
> Thomas,
>
> I'll look at this right away. This is obviously a bug that has crept in.
>
> Jason
>
> -----Original Message-----
> From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On
Behalf
> Of Thomas Steinmaurer
> Sent: 10 January 2012 02:22 PM
> To: IBObjects@yahoogroups.com
> Subject: Re: [IBO] 4.9.14b32 - Problem with executable SP and output
> parameters
>
> Hello Jason,
>
>>> Would you provide the SQL trace that the IBO trace monitor outputs so I
> can
>>> decipher exactly what API calls are being used?
>>
>> When using the TIB_StoredProc component.
>>
>> /*---
>> EXECUTE2 DSQL
>> TR_HANDLE = 6
>> STMT_HANDLE = 3
>> PARAMS = [ ]
>> FIELDS = [ Version 1 SQLd 1 SQLn 1
>> P1.RINT = 1 ]
>>
>> SECONDS = 0,016
>> ----*/
>> /*---
>> COMMIT RETAINING
>> TR_HANDLE = 6
>> ----*/
>>
>>
>> According to the trace, P1.RINT = 1, so the correct output parameter
>> value should be available, but I do get 0 when accessing the field with:
>>
>> IB_StoredProc1.FieldByName('RINT').AsInteger
>>
>>
>> After the ExecProc call.
>>
>>
>> The SP is very simple:
>>
>> SET TERM ^^ ;
>> CREATE PROCEDURE P1 returns (
>> RINT Integer)
>> AS
>> begin
>> RINT = 1;
>> end ^^
>> SET TERM ; ^^
>
>
> I'm sorry for pushing you on this matter, but I want to avoid moving
> away from TIB_StoredProc in favour of TIB_DSQL for executable procedures
> in this legacy app, if there is possibly a fix in IBO for this or revert
> back to some old behaviour as this has worked in older 4.9.14 builds.
>
> Thanks!
>
> Regards,
> Thomas
>
>
>
> ------------------------------------
>
>
___________________________________________________________________________
> IB Objects - direct, complete, custom connectivity to Firebird or
InterBase
> without the need for BDE, ODBC or any other layer.
>
___________________________________________________________________________
> http://www.ibobjects.com - your IBO community resource for Tech Info
papers,
> keyword-searchable FAQ, community code contributions and more !
Yahoo! Groups Links
>
>
>


------------------------------------

___________________________________________________________________________
IB Objects - direct, complete, custom connectivity to Firebird or InterBase
without the need for BDE, ODBC or any other layer.
___________________________________________________________________________
http://www.ibobjects.com - your IBO community resource for Tech Info papers,
keyword-searchable FAQ, community code contributions and more !
Yahoo! Groups Links