Recent

Author Topic: IBX 2.3.2 is now available for download  (Read 20655 times)

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
IBX 2.3.2 is now available for download
« on: December 06, 2018, 05:29:53 pm »
MWA Software is pleased to announce that release 2.3.2 of IBX for Lazarus is now available for download from https://mwasoftware.co.uk/ibx. Older versions of IBX will fail to compile with Lazarus 2.0 and upgrade to this version is necessary for use with Lazarus 2.0. All users are recommended to upgrade to the new release. Please read the changelog before upgrading. The release also includes a new SQL Tokeniser and the ability to select the Firebird Library (DLL or shared object) as a property of TIBDatabase or TIBXServicesConnection. Several minor bug fixes are also included.

The release fixes two problems with use of Lazarus 2.0:

  • A deprecated function that is no longer supported with Lazarus 2.0 has been replaced.
  • TIBLookupComboEditBox is derived from Lazarus TCustomDBComboBox. In Lazarus 2.0, TCustomDBComboBox takes a more restrictive view of combo boxes that do not have a DataSource. This prevents TIBLookupComboEditBox from being used to select rows in a list dataset when no DataSource is present. TIBLookupComboEditBox has been updated to include a workaround in order to restore previous functionality.

The new SQL Tokeniser has been primarily developed in order to avoid mis-identification of PSQL parameters within BEGIN..END blocks as IBX query parameters. This allows parameterised EXECUTE BLOCK statements to be supported. The new SQL Tokeniser is also used for TIBSQLParser and TIBXScript, in both cases removing duplicate code.

Both TIBDatabase and TIBXServicesConnection now include a new property "FirebirdLibraryPathName". This can be used to explicitly specify the full path to the firebird client library (DLL or shared object). For example, when the library is in a non-standard location or to avoid ambiguity when more than one library is installed. In principle, each instance of TIBDatabase or TIBXServicesConnection could use a different version of the library.
« Last Edit: December 06, 2018, 05:32:36 pm by tonyw »

zoltanleo

  • Sr. Member
  • ****
  • Posts: 486
Re: IBX 2.3.2 is now available for download
« Reply #1 on: December 06, 2018, 05:52:30 pm »
Both TIBDatabase and TIBXServicesConnection now include a new property "FirebirdLibraryPathName".
This is great news. Thank you.
Win10 LTSC x64/Deb 11 amd64(gtk2/qt5)/Darwin Cocoa (Monterey):
Lazarus x32/x64 2.3(trunk); FPC 3.3.1 (trunk), FireBird 3.0.10; IBX by TonyW

Sorry for my bad English, I'm using translator ;)

patyi

  • Full Member
  • ***
  • Posts: 168
Re: IBX 2.3.2 is now available for download
« Reply #2 on: December 06, 2018, 11:12:09 pm »
Hi all !

How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

Thanks for grate work !
« Last Edit: December 06, 2018, 11:17:35 pm by patyi »

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: IBX 2.3.2 is now available for download
« Reply #3 on: December 06, 2018, 11:44:39 pm »
Hi all !

How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

Thanks for grate work !

IBX can't help you here. Wire encryption has to enabled in the firebird.conf file on both client and server . Also make sure that you are using the Srp authentication scheme. This is the only  scheme that supports wire encryption. For more info see the Firebird 3.0.3 release notes.

zoltanleo

  • Sr. Member
  • ****
  • Posts: 486
Re: IBX 2.3.2 is now available for download
« Reply #4 on: December 11, 2018, 11:11:41 pm »
Hi.

I tried to install ibx r265. After rebuilding, the IDE showed the following message:
Quote
IBX is unable to locate the Firebird Library - have you remembered to install it?
But tabs with ibx components in the toolbar of IDE I didn't find.

At the same time, I have a Firebird server running as an application:
Code: Pascal  [Select][+][-]
  1. "D:\Portable_program\Firebird_server\Firebird_3_0_3\firebird.exe" -a -p3303

Сan you fix the source code so that your component correctly handles both situations: if server firebird is running as a service or running as an application?
« Last Edit: December 11, 2018, 11:43:36 pm by zoltanleo »
Win10 LTSC x64/Deb 11 amd64(gtk2/qt5)/Darwin Cocoa (Monterey):
Lazarus x32/x64 2.3(trunk); FPC 3.3.1 (trunk), FireBird 3.0.10; IBX by TonyW

Sorry for my bad English, I'm using translator ;)

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: IBX 2.3.2 is now available for download
« Reply #5 on: December 12, 2018, 12:14:08 am »
Hi.

I tried to install ibx r265. After rebuilding, the IDE showed the following message:
Quote
IBX is unable to locate the Firebird Library - have you remembered to install it?
But tabs with ibx components in the toolbar of IDE I didn't find.

At the same time, I have a Firebird server running as an application:
Code: Pascal  [Select][+][-]
  1. "D:\Portable_program\Firebird_server\Firebird_3_0_3\firebird.exe" -a -p3303

Сan you fix the source code so that your component correctly handles both situations: if server firebird is running as a service or running as an application?
If you have installed Firebird in a non-standard location on your development system then you have to tell the IDE where to find it by setting the FBLIB environment variable to the flull pathname of the fbclient.dll library.

Under Windows, that is usually done (e.g udner Windows 7) by going to the Control Panel, clicking on "User Accounts" and then clicking on "Change my environment variables".

In the "Environment Variable" dialog, click on the "New" button and enter "FBLIB" as the variable name and the path to the fbclient.dll file as the value. Given your post the value is probably

D:\Portable_program\Firebird_server\Firebird_3_0_3\fbclient.dll

Although this may be different in a non-standard deployment.

Once this is set, you can restart the IDE and hopefully IBX will find the Firebird Libary.

incendio

  • Sr. Member
  • ****
  • Posts: 269
Re: IBX 2.3.2 is now available for download
« Reply #6 on: December 12, 2018, 04:24:56 am »
Hi all !

How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

Thanks for grate work !

IBX can't help you here. Wire encryption has to enabled in the firebird.conf file on both client and server . Also make sure that you are using the Srp authentication scheme. This is the only  scheme that supports wire encryption. For more info see the Firebird 3.0.3 release notes.

I have enabled WireCompression=true and enable Srp authentication in server side via firebird.conf.
How to enable in client side?

Btw, on client side in windows OS, when using IBX, should Firebird install or it is enough just supply fbclient.dll?

dsiders

  • Hero Member
  • *****
  • Posts: 1052
Re: IBX 2.3.2 is now available for download
« Reply #7 on: December 12, 2018, 06:48:04 am »
How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

IBX can't help you here. Wire encryption has to enabled in the firebird.conf file on both client and server . Also make sure that you are using the Srp authentication scheme. This is the only  scheme that supports wire encryption. For more info see the Firebird 3.0.3 release notes.

Hello Tony. Sorry for coming late to the thread.

In the release notes, client-side set up is supposedly accomplished by:

Quote
To activate Wirecompression from the client side, pass the appropriate tag in the config item of the DPB or SPB call:
 isc_dbp_config/isc_sbp_config <string-length> "WireCompression=true"

Would that not require isc_dbp_* to include the corresponding option too? I read that it requires zlib1.dll (on Windows) for client-side decompression.

Just curious...

Don
Preview Lazarus 3.99 documentation at: https://dsiders.gitlab.io/lazdocsnext

zoltanleo

  • Sr. Member
  • ****
  • Posts: 486
Re: IBX 2.3.2 is now available for download
« Reply #8 on: December 12, 2018, 10:30:51 am »
Once this is set, you can restart the IDE and hopefully IBX will find the Firebird Libary.
It's doesn't work  even after rebooting the system :'(

And what to do if the system has several FB servers running as an application? This situation is often found on the developer's machine.

ps. If my memory serves me right in the original ibx version of delphi, components are installed and displayed. But when trying to drop TIBDatabase on a form, the developer receives a message "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality." And it forces him to install the server, define the variable FBLIB, etc.
« Last Edit: December 12, 2018, 11:06:54 am by zoltanleo »
Win10 LTSC x64/Deb 11 amd64(gtk2/qt5)/Darwin Cocoa (Monterey):
Lazarus x32/x64 2.3(trunk); FPC 3.3.1 (trunk), FireBird 3.0.10; IBX by TonyW

Sorry for my bad English, I'm using translator ;)

jujibo

  • Full Member
  • ***
  • Posts: 114
Re: IBX 2.3.2 is now available for download
« Reply #9 on: December 12, 2018, 11:51:40 am »
Once this is set, you can restart the IDE and hopefully IBX will find the Firebird Libary.
It's doesn't work  even after rebooting the system :'(

And what to do if the system has several FB servers running as an application? This situation is often found on the developer's machine.

ps. If my memory serves me right in the original ibx version of delphi, components are installed and displayed. But when trying to drop TIBDatabase on a form, the developer receives a message "InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality." And it forces him to install the server, define the variable FBLIB, etc.

Hi!

Try: Download from firebird site Firebird Zip kit for manual/custom installs for win32 if your lazarus is win32 or x64 if your lazarus is 64 bits.

https://www.firebirdsql.org/en/firebird-3-0/

Extract the files: fbclient.dll,  firebird.conf, firebird.msg, msvcp100.dll and msvcr100.dll  (optional zlib1.dll)

Copy these files in the folder where your lazarus executable is.

All is done, you don't neet do install firebird server. You also need these files for your executable if you want to distribute it as portable. (remember extract the correct version like your executable, 32bit or 64 bits)

Regards

zoltanleo

  • Sr. Member
  • ****
  • Posts: 486
Re: IBX 2.3.2 is now available for download
« Reply #10 on: December 12, 2018, 12:24:10 pm »
Copy these files in the folder where your lazarus executable is.

All is done, you don't neet do install firebird server. You also need these files for your executable if you want to distribute it as portable. (remember extract the correct version like your executable, 32bit or 64 bits)

For what purpose? You offer me to use embedded firebird, but I have no problems using a full-fledged firebird server. I want to help the author make his component without conditional restrictions. IMHO, it's pretty easy to do. We have already discussed this with the component author here:

http://forum.lazarus.freepascal.org/index.php/topic,40933.msg284673.html#msg284673

But at that moment I couldn't convince him of this. Perhaps I will succeed this time.  ;)
« Last Edit: December 12, 2018, 12:27:58 pm by zoltanleo »
Win10 LTSC x64/Deb 11 amd64(gtk2/qt5)/Darwin Cocoa (Monterey):
Lazarus x32/x64 2.3(trunk); FPC 3.3.1 (trunk), FireBird 3.0.10; IBX by TonyW

Sorry for my bad English, I'm using translator ;)

jujibo

  • Full Member
  • ***
  • Posts: 114
Re: IBX 2.3.2 is now available for download
« Reply #11 on: December 12, 2018, 12:54:35 pm »

For what purpose? You offer me to use embedded firebird, but I have no problems using a full-fledged firebird server. I want to help the author make his component without conditional restrictions. IMHO, it's pretty easy to do. We have already discussed this with the component author here:

http://forum.lazarus.freepascal.org/index.php/topic,40933.msg284673.html#msg284673

But at that moment I couldn't convince him of this. Perhaps I will succeed this time.  ;)

The purpose is to fix the error you get: "IBX is unable to locate the Firebird Library - have you remembered to install it?"

If you install in your windows, firebird server 64bits and you run lazarus 32 bits, you'll get this error because the dll's installed in your system are 32 bits. The same happens when you install firebird server 32 bits and un lazarus 64 bits.

In my case, I haven't firebird installed in the windows computer where I develop. I connect to external servers.

I'm not talking about firebird embedded. I'm talking about client/server. In fact, the concept of embedded for firebird 3 changed.

Edited: Well, I see you are looking for another solution :)

Regards.

« Last Edit: December 12, 2018, 01:01:07 pm by jujibo »

zoltanleo

  • Sr. Member
  • ****
  • Posts: 486
Re: IBX 2.3.2 is now available for download
« Reply #12 on: December 12, 2018, 04:10:09 pm »
If you install in your windows, firebird server 64bits and you run lazarus 32 bits, you'll get this error because the dll's installed in your system are 32 bits. The same happens when you install firebird server 32 bits and un lazarus 64 bits.

Yeah. What are you talking about ...  ::)
In my case, I have the x32 firebird client installed and the x32 Lazarus trunk (r59797).

I can post screenshots if it is necessary to make me believe  :D
Win10 LTSC x64/Deb 11 amd64(gtk2/qt5)/Darwin Cocoa (Monterey):
Lazarus x32/x64 2.3(trunk); FPC 3.3.1 (trunk), FireBird 3.0.10; IBX by TonyW

Sorry for my bad English, I'm using translator ;)

incendio

  • Sr. Member
  • ****
  • Posts: 269
Re: IBX 2.3.2 is now available for download
« Reply #13 on: December 13, 2018, 03:49:28 am »
Hi all !

How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

Thanks for grate work !

IBX can't help you here. Wire encryption has to enabled in the firebird.conf file on both client and server . Also make sure that you are using the Srp authentication scheme. This is the only  scheme that supports wire encryption. For more info see the Firebird 3.0.3 release notes.

I think IBX still not supports WireCompression in Firebird 3.

I have tested on Windows OS, Lazarus 1.8.4, and Firebird 3.0.4.

Add SQL to TIBQuery :
Code: Pascal  [Select][+][-]
  1. select RDB$GET_CONTEXT('SYSTEM', 'WIRE_COMPRESSED') as st from rdb$database.
It returns empty, if supported, it should return True.

tonyw

  • Sr. Member
  • ****
  • Posts: 319
    • MWA Software
Re: IBX 2.3.2 is now available for download
« Reply #14 on: December 26, 2018, 04:36:42 pm »
How to enable WireCompression protocol ?
Adding WireCompression=True to Connection parameters gives me an error.
I can't find anything about WireCompresson theme in documentation.

IBX can't help you here. Wire encryption has to enabled in the firebird.conf file on both client and server . Also make sure that you are using the Srp authentication scheme. This is the only  scheme that supports wire encryption. For more info see the Firebird 3.0.3 release notes.

Hello Tony. Sorry for coming late to the thread.

In the release notes, client-side set up is supposedly accomplished by:

Quote
To activate Wirecompression from the client side, pass the appropriate tag in the config item of the DPB or SPB call:
 isc_dbp_config/isc_sbp_config <string-length> "WireCompression=true"

Would that not require isc_dbp_* to include the corresponding option too? I read that it requires zlib1.dll (on Windows) for client-side decompression.

Just curious...

Don

Don, you are correct. I got wire compression mixed up wire encryption. There does need to be a minor update to IBDatabase.pas to add the dbp param. I will make this available by svn shortly.

 

TinyPortal © 2005-2018