I have several Firebird databases, some created with Firebird v2.5.9 (ODS 11.2) and some with Firebird 5.0.3 (ODS 13.1.) Both Firebird versions are installed on my VM using different ports, and using the appropriate VendorLib and port I can work with either version, one at a time.
I previously wrote a DB browser utility that I'm trying to update to work with either Firebird version. The browser can open multiple FDBs at once, and I want it to be able to open both v2.5 and v5.0 FDBs at once. In the browser, each FDB has a datamodule with its own TFDPhysFBDriverLink and TFDConnection, so things should be isolated. I can get the ODS from the FDB file and set the appropriate VendorLib in the driverlink and port in the connection, but once I've opened a FDB of either version, trying to open a FBD of the other version returns a error on mismatched ODS versions - the new connection is apparently using the first connection's VendorLib.
I've read that I need to call the DriverLink's Release method and clear the connection pool to make this kind of switch between different FDB versions, but that requires closing all open connections, which defeats the purpose of having multiple FDBs of varying versions open at once.
Is there a way to do what I want here?