Any plans to update the name for the driver and Add FIREBIRD on the options? AFAIK theres internal differences between INTERBASE FIREDAC and FIREDAC INTERBASE.
Hello,
Thanks, the issue was logged as #65593
at this moment, DASM driver is compiled with AnyDAC v8.0.3.3291 (latest version that supports D7)
not sure that we can compile FireDAC with D7 …
@EvgenyK to install on any delphi ide just run firedac installer with the switch /showide
That way you can use actual firedac release with D7 or newer delphi version.
OTOH, i see you have a unit for firedac the problem is this not get the library client path from the connection string (vendor lib parameters)
@DonaldShimoda, Firebird support via separated unit was added to FireDAC that is shipped with XE5 only.
I don’t think that FireDAC that is shipped with XE5 can be compiled with pre-XE2 versions because it uses namespaces in uses sections, like
uses System.Classes, FireDAC.DatS, FireDAC.Phys, FireDAC.Phys.IBWrapper, FireDAC.Phys.IBBase;
P.S. next major release will contain drivers compiled with XE5 , i.e. with unicode version of delphi
@EvgenyK the problem esthetes no way to pass the fbclient.dll for firebird to the driver right now trough data abstract. Firedac need the vendor lib location, fails to find the default location for some reason and i can’t tell where to find this.
have you tried to specify VendorLib/VendorHome parameters?
procedure TFDPhysDriver.GetVendorParams(out AHome, ALib: String); begin if Params <> nil then begin AHome := Params.AsXString[S_FD_DrvVendorHome]; //<<<<<<<<<<< ALib := Params.AsXString[S_FD_DrvVendorLib]; //<<<<<<<<<<< end else begin AHome := ''; ALib := ''; end; end; procedure TFDPhysFBDriver.InternalLoad; var sHome, sLib: String; begin sHome := ''; sLib := ''; GetVendorParams(sHome, sLib); //<<<<<<<<<<< FLib.LoadFB(sHome, sLib); end;
by other hand, you can put FDConnectionDefs.ini / FDDrivers.ini near your .exe
@EvgenyK Yes, i try. That is as my string is formed.
aConnectionManager.Connections.ConnectionByName(fDBConexion).ConnectionString :=
‘AnyDAC?AuxDriver=IB;Server=’+fDataBaseServerIP+’;Database=MyDataBase;UserID=sysdba ; Password=masterkey ; Protocol=TCPIP;VendorLib=’‘GDS32.dll’’;’
The dll is there because it works fine on a standalone project (not DA) passing to the driver link the vendor parameter, like this:
dmLocal.FDPhysFBDriverLink1.VendorLib := 'GDS32.dll';
Adding a ini is not a option, regarding theres a way to hardcore this, i prefer to do in this way.
@DonaldShimoda you can use old trick with renaming fbclient.dll to gds32.dll or vice versa until we will fix #65593
@EvgenyK that cr**p don’t find any dll, i try all the combinations, paths, no luck yet.
@DonaldShimoda check path variable inside Delphi IDE, XE5 setup adds it as
C:\Users\Public\Documents\InterBase\redist\InterBaseXE3\win32_togo;C:\Users\Public\Documents\InterBase\redist\InterBaseXE3\win64_togo;$(PATH);
so actually FireDAC can load ibtogo.dll because it found it in %path%
I had similar problem with DBX some time ago
upd: this issue was fixed. drop email to support@ if you want to receive the fix
@EvgenyK i send you an email. Will wait the fix.
Thanks.
@DonaldShimoda done
@EvgenyK it works fine, thanks. For the record, is needed to change Anydac by FireDac on the connection string.
it isn’t required.
for XE5+ is used uDAFireDACDriver.pas for other versions - uDAAnyDACDriver.pas. both files cover AnyDAC and FireDAC as driver name