WireCompression not part of Interbase.SpecificOptions (7.4.11)

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by FredS » Fri 28 Dec 2018 22:24

Adding it in code gives me this:

Code: Select all

"WireCompression" is not a valid option name for InterBase UniProvider.
What is the correct way of using 'WireCompression'? I looked for it in the help file but no luck, yet 'History.html' shows it added in 7.1.3.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by ViktorV » Fri 04 Jan 2019 12:19

Thank you for the information. We will investigate this UniDAC behavior and let you know the result.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by ViktorV » Mon 21 Jan 2019 08:15

We have already fixed this issue, the fix will be included in the next UniDAC build, which we are planning to release within a week.
To enable WireCompression on the client side, you will add the string "WireCompression=true" to the TUniConnection.SpecificOptions.Values['Params']. For example:

Code: Select all

  UniConnection.SpecificOptions.Values['Params'] := 'WireCompression=true';
In order for compression to work correctly, you should use the zlib1.dll library, the bitness of which should correspond to the bitness of your application. Please place the required zlib1.dll library in the directory with your executable file and make sure that your application starts useing it when calling the TUniConnection.Connect method.
Note, in order to determine whether your application uses zlib1.dll you can use a third-party utility, e.g. Process Explorer.

frickler
Posts: 37
Joined: Wed 04 Apr 2018 08:30

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by frickler » Mon 21 Jan 2019 09:22

Will this also be added to IBDAC?

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by ViktorV » Mon 21 Jan 2019 09:49

It already works in IBDAC.
To enable WireCompression on the client side, you should add the string "WireCompression=true" to the IBCConnection.Params. For example:

Code: Select all

  IBCConnection.Params.Add('WireCompression=true');

frickler
Posts: 37
Joined: Wed 04 Apr 2018 08:30

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by frickler » Mon 21 Jan 2019 10:24

Thank you.

Is there a list of possible params which I can use with Params property? The dokumentation about this in incomplete.

FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by FredS » Wed 23 Jan 2019 23:20

Thanks, this works in the latest release but I still can't see it in the Help file.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by ViktorV » Fri 25 Jan 2019 12:53

frickler wrote: Mon 21 Jan 2019 10:24 Thank you.

Is there a list of possible params which I can use with Params property? The dokumentation about this in incomplete.
Get information on using the TIBCConnection.Params property in IBDAC help: [url]https://devart.com/ibdac/docs/deva ... params.htm[/url].
The following options are currently supported:
cdd_pathname, allocation, journal, page_size, num_buffers, buffer_length, debug, garbage_collect, verify, sweep, enable_journal, disable_journal,
dbkey_scope, number_of_users, trace, no_garbage_collect, damaged, license, sys_user_name, encrypt_key, activate_shadow, sweep_interval,
delete_shadow, force_write, begin_log, quit_log, no_reserve, user_name, password, password_enc, sys_user_name_enc, interp, online_dump, old_file_size,
old_num_files, old_file_name, old_start_page, old_start_seqno, old_start_file, drop_walfile, old_dump_id, wal_backup_dir, wal_chkptlen,
wal_numbufs, wal_bufsize, wal_grp_cmt_wait, lc_messages, lc_ctype, cache_manager, shutdown, online, shutdown_delay, reserved, overwrite,
sec_attach, disable_wal, connect_timeout, dummy_packet_interval, gbak_attach, sql_role_name, set_page_buffers, working_directory, sql_dialect,
set_db_readonly, set_db_sql_dialect, gfix_attach, gstat_attach, gbak_ods_version, gbak_ods_minor_version, set_group_commit, gbak_validate,
no_db_triggers, trusted_auth, process_name, instance_name, old_overwrite, utf8_filename, sys_encrypt_password, wirecompression

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by ViktorV » Fri 25 Jan 2019 12:54

FredS wrote: Wed 23 Jan 2019 23:20 Thanks, this works in the latest release but I still can't see it in the Help file.
We will add the necessary information in UniDAC (IBDAC) help in one of the next UniDAC (IBDAC) builds.

frickler
Posts: 37
Joined: Wed 04 Apr 2018 08:30

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by frickler » Thu 07 Jan 2021 14:21

FredS wrote: Fri 28 Dec 2018 22:24 Adding it in code gives me this:

Code: Select all

"WireCompression" is not a valid option name for InterBase UniProvider.
What is the correct way of using 'WireCompression'? I looked for it in the help file but no luck, yet 'History.html' shows it added in 7.1.3.
I get the very same error message in UniDAC 8.3.2.

FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by FredS » Thu 07 Jan 2021 16:57

frickler wrote: Thu 07 Jan 2021 14:21 I get the very same error message in UniDAC 8.3.2.
Works for me:

Code: Select all

Con.SpecificOptions.Values['InterBase.Params'] := 'WireCompression=true';

frickler
Posts: 37
Joined: Wed 04 Apr 2018 08:30

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by frickler » Fri 08 Jan 2021 11:01

FredS wrote: Thu 07 Jan 2021 16:57
frickler wrote: Thu 07 Jan 2021 14:21 I get the very same error message in UniDAC 8.3.2.
Works for me:

Code: Select all

Con.SpecificOptions.Values['InterBase.Params'] := 'WireCompression=true';
I thought this was the workaround until the parameter "WireCompression" is natively supported (with the next UniDAC build).

oleg0k
Devart Team
Posts: 190
Joined: Wed 11 Mar 2020 08:28

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by oleg0k » Fri 12 Feb 2021 15:47

Hello,
Yes, we've added the WireCompression parameter - it will be included in the next release of UniDAC. As a workaround, you can use

Code: Select all

Connection.SpecificOptions.Values['InterBase.Params'] := 'WireCompression=true';
wbr, Oleg
Devart Team

FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by FredS » Sun 05 Dec 2021 23:18

it will be included in the next release of UniDAC
Still get this in 9.0.1 (19-Nov-2021)

Code: Select all

exception message  : "WireCompression" is not a valid option name for InterBase UniProvider.
02a107d9 +0f9 PA.exe UniProvider                   666   +9 TUniProvider.ValidateOption

frickler
Posts: 37
Joined: Wed 04 Apr 2018 08:30

Re: WireCompression not part of Interbase.SpecificOptions (7.4.11)

Post by frickler » Tue 07 Dec 2021 11:31

By looking into the sources one can clearly see, that it's only working if you use IBDAC with UniDAC Express ("Lite"). If you don't, then you have to use the "WireCompression=true" method instead.

Post Reply