Both TIBDatabase and TIBXServicesConnection now include a new property "FirebirdLibraryPathName".This is great news. Thank you.
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 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.
Hi.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.
I tried to install ibx r265. After rebuilding, the IDE showed the following message:QuoteIBX 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:
"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?
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.
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.
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"
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 :'(
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.
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. ;)
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.
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.
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:QuoteTo 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
There is more to the Wire Compression issue than I first thought. The Firebird documentation is confusing and needed some interpretation and testing.
3. If have no idea where the suggestion came from that executing
select RDB$GET_CONTEXT('SYSTEM', 'WIRE_COMPRESSED') as st from rdb$database
will do anything other than return an error message.
An updated version of IBX incorporating the above is now available from svn. Note: documentation update is to follow. Checkout using
svn co https://svn.mwasoftware.co.uk/public/ibx/trunk
There is more to the Wire Compression issue than I first thought. The Firebird documentation is confusing and needed some interpretation and testing.
Hi, Tony.
Thanks for your hard work. I'd be glad to help in testing the changes.3. If have no idea where the suggestion came from that executing
select RDB$GET_CONTEXT('SYSTEM', 'WIRE_COMPRESSED') as st from rdb$database
will do anything other than return an error message.
I'm the source of that misconception. I found it in a StackOverflow conversation about using WireCompression in FireDAC. If I had read a little closer, I would have seen that it is a feature added in Firebird 4.X. I assume to provide a better way of checking it than using the version information. My bad...An updated version of IBX incorporating the above is now available from svn. Note: documentation update is to follow. Checkout using
svn co https://svn.mwasoftware.co.uk/public/ibx/trunk
Hmm, guess I need to brush some dust off of the SVN skills I haven't used for 15 years. Is Tortoise still the SVN client of choice for Windows?
Firebird/Windows/AMD/Intel/x64 (access method), version "WI-V3.0.4.33054 Firebird 3.0"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-V3.0.4.33054 Firebird 3.0/tcp (HP17Z)/P15:CZ"
Firebird/Windows/AMD/Intel/x64 (remote interface), version "WI-V3.0.4.33054 Firebird 3.0/tcp (HP17Z)/P15:CZ"
WireCompression = true
.As I wrote in http://forum.lazarus-ide.org/index.php?topic=43682.0, I use Firebird 3.0.4 to run this command :
select RDB$GET_CONTEXT('SYSTEM', 'WIRE_COMPRESSED') as st from rdb$database
I finally got my install updated to IBX-trunk, and tested with the DBInfo demo.I have tried connecting from Windows to a Linux server. In this case, I had no problem enabling wire compression - and with no zlib included in the application. Maybe something about the location of your zlib. I have zlib1.dll in the same folder as the fbclient.dll (default Firebird install).
Success!Code: [Select]Firebird/Windows/AMD/Intel/x64 (access method), version "WI-V3.0.4.33054 Firebird 3.0"
Firebird/Windows/AMD/Intel/x64 (remote server), version "WI-V3.0.4.33054 Firebird 3.0/tcp (HP17Z)/P15:CZ"
Firebird/Windows/AMD/Intel/x64 (remote interface), version "WI-V3.0.4.33054 Firebird 3.0/tcp (HP17Z)/P15:CZ"
But it did take a bit of fiddling.
I modified the firebird.conf file for the server to includeCode: [Select]WireCompression = true
.
I also copied zlib1.dll to the directory for the project (dbinfo). I did this because (thanks to Windows DLL-Hell) I already have four other versions of zlib1.dll on my system. I was afraid adding another version to the system path would hose one of the other applications.
I changed the WireCompression property in my TIBDatabase instance to True.
It will not actually use zlib compression until you add zlib to the uses clause in your app. I tried both the .lpk file and the .pas where the TIBDatabase unit resides. Both worked.
Zlib compression cannot be enabled for local connections (XNET). It works for IP addresses (INET). Haven't tried NETBEUI (WNET) yet.
I also copied zlib1.dll to the directory for the project (dbinfo). I did this because (thanks to Windows DLL-Hell) I already have four other versions of zlib1.dll on my system. I was afraid adding another version to the system path would hose one of the other applications.
It will not actually use zlib compression until you add zlib to the uses clause in your app.
I have tried connecting from Windows to a Linux server. In this case, I had no problem enabling wire compression - and with no zlib included in the application. Maybe something about the location of your zlib. I have zlib1.dll in the same folder as the fbclient.dll (default Firebird install).
I can test it Wire Encription performance on remote server, but how to download the entire folder ibx/trunk ?
And should old IBX 2.3.2 uninstall before install ver 2.3.3?
Hi,
I have a set of apps and services wich rely on a framework with DB drivers to access databases.
So far the IBX driver worked flawlessly with IBX 2.2.0 compiled with Lazarus 1.8.4.
I installed Lazarus 2.0 and the Online Package manager installed IBX 2.3.2.
Now I get a SIGSEV error when the app closes.
It happens when the DB driver checks if the transaction is active and tries to commit:
procedure TIBXDBConnection.InternalCommit; begin try if FTransaction.Active then FTransaction.Commit; except end; end;
TIBXDBConnection is a DB connection wrapper that holds a TIBDatabase and a TIBTransaction.
FTransaction is a TIBTransaction and is valid when this code is executed.
Going back to Lazarus 1.8.4 and IBX 2.2.0 solves the problem, though.
Any idea of what may be wrong?
So is this error from IBX or Lazarus?
Project project1 raised exception class 'EIBInterBaseError' with message:
Your user name and password are not defined. Ask your database administrator to set up a Firebird login
In file 'D:\Archive\development\lazarus_21_r61706_ibxlaz\_config\onlinepackagemanager\packages\ibx\runtime\nongui\IBDatabase.pas' at line 1141