Subject | Can't get Firbird 3.x embedded to work in Delphi 10.3 update 1? |
---|---|
Author | Chris LeFebvre |
Post date | 2019-04-23T12:11:51Z |
I use Firebird server Windows server regularly but for a specific application I’m trying to configure and use the Firebird 3.0.4 embedded in the latest version of Delphi. When RAD Studio 10.3.1 was released in the announcement of added and improved features it was mentioned "Improved FireDAC support for Firebird 3.0.4 and Firebird embedded" but there’s no documentation on exactly what the setup in FireDAC is for Firebird embedded.
I posted this thread in the Idera support forums two months ago with only one response that I’m sorry to say wasn’t very helpful https://community.idera.com/developer-tools/data-internet-and-web-services/f/data-19/67943/rad-studio-10-3-1-firedac-support-for-firebird-3-x
I’ve looked and these documents on the Firebird website: https://firebirdsql.org/file/documentation/reference_manuals/fbdevgd-en/html/fbdg30-firedac-libpath.html#fbdg30-firedac-embedded & https://www.ibphoenix.com/files/Embedded_fb3.pdf
And it seems like the setup should be that the FireDAC TFDPhysFBDriverLink should have “Embedded” set to true (which I do) and “VendorLib” should point to “engine12.dll” located in the Firebird/plugins directory (which it is). In the actual TFDConnection component the Firebird database file is located in the same directory as the application executable and the params / database points to the fdb file; as is mentioned in the documentation I’ve left the server address blank “When the Dispatcher encounters a hostless connection path, it first tries the Remote provider and, as expected, fails in the absence of the networked service. Next, it tries the Engine12 provider, which should succeed if the database is not exclusively locked by a Superserver process or another embedded engine instance.” My development computer does not have regular Firebird server and the fdb file is not lock by any other process.
Also I tried uncommenting “#Providers = Remote,Engine12,Loopback” in the firebird.conf file and editing it to only be “engine12” removing Remote and Loopback but still no joy.
But no matter what I try I keep getting the message “Unavailable Database” and I’m sorry if this is not necessarily the correct place for this question but after two months I feel I’ve exhausted my options for support from the Idera forums. Does anyone have any ideas about why this isn’t working and what changes I need to make to the FireDAC config in order to get embedded to work?