Sending aditional params to the DataAbstract driver

Hello,

How do I pass an additional parameter to the FirebirdSQL driver in DataAbstract, such as
WireCompression=true?

I tried adding WireCompression=true and @WireCompression=true to the connection string

I tried with the IBDac driver and with FireDac.
The parameter passed does not work.

If I initialize a direct connection using TIBCConnection and the parameter WireCompression=true, it works.

Best regards,
Tiberiu Stoicescu

Hi,

DA/IBDAC driver doesn’t supported custom parameters.
DA/FireDAC driver supports custom parameters via @ but FireDAC itself knows nothing about WireCompression parameter. probably FireDAC uses other parameter name…


if you want to use WireCompression with DA/IBDAC, you can use these workarounds:

  • manually modify TDAEIBDACConnection.DoApplyConnectionString (uDAIBDACDriver.pas) method like
if aConnStrParser.AuxParams['WireCompression'] <> '' then  ...
  • set this parameter in service like
procedure TDataService.DataAbstractServiceActivate(const aClientID: TGUID;
  aSession: TROSession; const aMessage: IROMessage);
var
  lc: TIBCConnection;
begin
  Self.Connection := ServerDataModule.ConnectionManager.NewConnection('myname', False);
  lc := TIBCConnection((Self.Connection as IDAConnectionObjectAccess).ConnectionObject);
  // set `WireCompression` 
  // lc.....
  Self.Connection.Open();
end;
1 Like

Logged as bugs://D19539.

Hi,

I’ve attached updated uDAIBDACDriver.pas (17.1 KB)

You can set additional parameters as

  • Connection level: @Name=Value
  • Connection.Options level: @Options.Name=Value
  • Connection.PoolingOption level: @PoolingOptions.Name=Value
  • Connection.SSLOptions level: @SSLOptions.Name=Value

WireCompression property can be set as @Options.WireCompression=true

1 Like

bugs://D19539 was closed as fixed.

Thanks!