Firebird 3.0.7 Embedded with Delphi & Firedac
Firebird 3 a differenza di Firebird 2.5 non necessita di una libreria diversa di connessione al DB.
In Windows, fino ad oggi per distribuire embedded Firebird si usava fbembedd.dll al posto di fbclient.dll, ora con Firebird 3.0 si utilizza sempre fbclient.dll sia per la connessione ad un server Firebird sia per la gestione dei DB embedded/local.
In firebird la connessione Embedded viene gestita dalla libreria engine12.dll, controllare che sia presente nel sistema nella directory <firebirdlibrari>\plugins\engine12.dll
Controllare in firebird.conf che sia abilitata in “protocols” la comunicazione engine12
firebird.conf:
1 |
Providers = Remote,Engine12,Loopback |
Configurare Firedac physical driver, semplicemente specificando la posizione della libreria di connessione:
1 2 3 4 |
FDPhysFBDriverLink1.vendorHome := ''; FDPhysFBDriverLink1.VendorLib := appPath + TPath.DirectorySeparatorChar + 'bin\fbclient.dll'; |
Parametri di connessione a FiredacConnection (ovviamente assegnare FDPhysFBDriverLink appena configurato):
1 2 3 4 5 6 |
FDConn.DriverName := 'FBEmbedded'; FDConn.LoginPrompt := False; FDConn.Params.Clear; FDConn.Params.add(''); FDConn.Params.add('User_Name=' + DataBaseConnectionParam.userName); FDConn.Params.add('DriverID=FBEmbedded'); |
Riferimento manuale Firebird: https://www.firebirdsql.org/en/documentation/
Riferimento documentazione on-line: https://firebirdsql.org/file/documentation/html/en/refdocs/fbdevgd30/firebird-30-developers-guide.html
Riferimenti Embarcadero:
- http://docwiki.embarcadero.com/RADStudio/Sydney/en/Connect_to_Firebird_(FireDAC)
- http://docwiki.embarcadero.com/RADStudio/Sydney/en/Configuring_Drivers_(FireDAC)
Articolo su stackoverflow: https://stackoverflow.com/questions/53817952/problem-connecting-to-firebird-3-embedded-with-c-sharp-in-net