On 09/01/2026 10:15, Ilia Nenashev wrote:
> Could you consider adding a more informative exception message for such
> a case? I have not installed any libraries, trying to connect to a local
> database just by its file path, and instead of message saying that I
> need to install a library, I receive this message with some
> unexpected strange-looking URL...
That is not that simple. The error means that fbclient tried to
establish a local (IPC) connection to the server with XNET, and that
failed because the client cannot connect to the server. The message
itself is not related to embedded at all. You'd get the exact same
message if you had used an explicit XNET URL (e.g. xnet://employee).
Shoehorning a message in there about missing embedded libraries would in
most cases be outright wrong, and IMHO also very confusing. If anything,
maybe a secondary message should be added to inform you to make sure the
Firebird server is running.
Because you don't have plugins/engineXX.dll for the EngineXX provider,
it will not try to create an embedded connection (that provider is
skipped due to its absence), and instead fbclient tries to create a
local connection using XNET (provider Loopback), which then fails
because the server is not running on the current machine, its IpcName is
not FIREBIRD, or the user running the server does not have sufficient
privileges to create the IPC channel in the Global namespace and ISQL is
running in a different session than the server.
I think most people don't expect to use embedded at all; in Firebird 2.5
and earlier (where embedded was a separate download on Windows), a
filename only connection string would in that case also use XNET to the
server. However, back then failure to connect (at least on Windows),
would then result in the very unhelpful message "unavailable database".
That "Unable to complete network request to host [..]" is, by the way,
the same message if you try to establish a TCP/IP connection and the
server is not running, or not listening on the specified port, or
blocked by a firewall.
Mark
--
Mark Rotteveel