> So it seems being the tool problem. If it always passes SQL string 
> length to the old API (instead of passing zero), then the issue is 
> perfectly expected. I can confirm that FlameRobin works exactly this 
> way, so it cannot process SQL statements longer than 64KB.
> 
> 
> Dmitry
> 
> 

Hi Dmitry,

thank you for detailed answer - this point me how to fix this :)

if someone use Delphi and Firedac then fix is really simple
in unit 
procedure TIBStatement.Prepare(const ASQL: String);

only one change is needed :)
  Check(Lib.Fisc_dsql_prepare(@Error.FStatusVector, @FTransaction.FTRHandle,
    @FSTHandle, {Database.Encoder.EncodedLength(sb)}0, PISC_SCHAR(PByte(sb)),
    Dialect, OutVars.FXSQLDA));

and the same in
procedure TIBStatement.ExecuteImmediate(const ASQL: String);


regards,
Karol Bieniaszewski




------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to