Hi Dimitry,
Its possible to set path to client library using property VendorLib of database driver.
TFDConnection *conn = ...
...
Firedac::Phys::Fb::TFDPhysFBDriverLink *driver = new Firedac::Phys::Fb::TFDPhysFBDriverLink(conn);
String name = L"Driver";
name += instanceName;
name.cat_printf(L"_%d", ++this->driverId);
driver->Name = name;
String driverId = name;
LOG_TRACE(L"Creating new driver '%s' ...", driverId);
driver->DriverID = driverId;
driver->VendorLib = "C:\Program Files (x86)\Firebird\Firebird_5_0\fbclient.dll";
conn->DriverName = driver->DriverID;
Its documented here:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Configuring_Drivers_(FireDAC)
S pozdravom / Best regards,
Jan KOLAR
--
Support the ongoing development of Firebird! Consider donating to the Firebird Foundation and help ensure its future. Every contribution makes a difference. Learn more and donate here:
https://www.firebirdsql.org/donate
---
You received this message because you are subscribed to a topic in the Google Groups "firebird-support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/firebird-support/pUNNvx3ZD3Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to firebird-suppo...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/firebird-support/03ded374-ef3c-477d-8315-d63d1e78004a%40ibphoenix.com.
You can introduce a new “driver link”, give it a name and then associate:
object FDPhysFBDriverLinkFB15: TFDPhysFBDriverLink
DriverID = 'FB15'
VendorLib = '….\gds32.dll'
Left = 248
Top = 64
End
object FDConnectionFBSrc: TFDConnection
Params.Strings = (
'Database=<snip>
'SQLDialect=1'
'DriverID=FB15')
ConnectedStoredUsage = []
LoginPrompt = False
Transaction = FDTransaction1
BeforeConnect = FDConnectionFBSrcBeforeConnect
Left = 224
Top = 120
End
I would name the dll’s different names (unlike my example of gd32.dll, maybe fbclient1_5.dll.
What I don’t know is how it would handle distributed transactions – I haven’t tested this (or in fact multiple fbclients being loaded at the same tim).
Jason Chapman
JAC2 Consultancy Limited
You received this message because you are subscribed to the Google Groups "firebird-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firebird-suppo...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/firebird-support/CACgRJNmwMDUrq2_cD8Jp1dfXrYrmV-558QoFXz%3DRsq0kX5%3Dyww%40mail.gmail.com.
finally our company decided to migrate from FB 2.5 to FB 5.0. I have created upgrade utility for that process but I am stuck at one problem. My application which should work simultaneously with old and new databases cannot load multiple versions of library fbclient.dll.
In theory it should be possible to utilize different fbclient.dll in the same process.
In practice this is required only in embedded mode since newer lib can connect to older server.
For later updates this should not be required again since v5 lib can access v3/v4 files by adding the engine-plugin from old version.
For reading FB25 databases there is a closed source plugin available to access them from newer fbclient.dll. This might be a less complicated alternative for your conversion.
For better separation you should place old and new stuff into different subdirectories.
As FireDAC is a multi DB lib there is a chance to get old and new separated.
For my own transitions I did not try to go that way and made the
conversion by doing backup and restore. You can place all files
required for v2.5 backup into subdirectory and run backup there.
Afterward restore from v5 directory.
Elmar
Hi Ján Kolár,
We resolved this by sending our customers the Firebird 5 DLL, renamed as firebird500.dll (including all dependencies), and configuring the system to use this DLL.
Customers using Firebird 2.5.9 and customers using Firebird 5.x connect through firebird500.dll, and everything works fine.
Best regards,
Norldir Kunkel.