Classic problem: "xnet://Global \Local\FIREBIRD"

2,102 views
Skip to first unread message

Stanislav Hruška

unread,
Nov 30, 2021, 2:28:44 AM11/30/21
to firebird-support
Project JasotSVB.exe raised exception class EIBNativeException with message '[FireDAC][Phys][FB]Unable to complete network request to host "xnet://Global\FIREBIRD".'.

I'm already desperate. Thanks.
W10 64b, Delphi 11, FireDAC, application 32b. The internet didn't help me. FB ver 3.0.7.
The paths are right. I shut down the server for testing. My program settings:

  dtmdBasic.fdfbdrlnkFoc.VendorHome := '';
  dtmdBasic.fdfbdrlnkFoc.VendorLib := '';
  dtmdBasic.fdfbdrlnkFoc.VendorLib := VendorDir;               //  OK
  dtmdBasic.fdfbdrlnkFoc.Embedded := FCertificate.IsEmbedded;  //  True

  Connection := dtmdBasic.conFB;
  Connection.Connected := False;
  Connection.LoginPrompt := False;
  Connection.Params.Add('CharacterSet = csWin1250');
  Connection.Params.Database := FBasicDir.UserDataDir + FFileName;
  Connection.Params.DriverID := 'FB';
  Connection.Params.Database := 'Password = masterkey';
  Connection.Params.Add('Port = 3050');
  Connection.Params.Add('Protocol = ipLocal');
  Connection.Params.UserName := 'SYSDBA';

Mark Rotteveel

unread,
Nov 30, 2021, 4:39:21 AM11/30/21
to firebird...@googlegroups.com
Does setting `dtmdBasic.fdfbdrlnkFoc.Embedded` to true control whether
you want to use Firebird Embedded? If so, why set that when you want to
connect to a Firebird server (judging by the rest of your config)? IIRC,
this error happens when you try to connect without host name (e.g. when
you'd use Firebird Embedded), but fbclient.dll cannot actually find the
Embedded database engine. It then tries to connect to the server using
XNET, but given the error you don't have a Firebird server running on
the local host (which seems to match with the fact you shut down
Firebird server).

Decide what you want to do:

- Connect to a server
- Connect to Firebird Embedded.

If you want to use Firebird Embedded from a 32-bit application, you must
have a 32-bit fbclient.dll, and a 32-bit plugins\engine12.dll (and other
supporting files) in the same location as the fbclient.dll you're using.

Mark

Stefan Heymann

unread,
Nov 30, 2021, 4:47:22 AM11/30/21
to firebird...@googlegroups.com
There is a mismatch between xnet and "Protocol = ipLocal".

So if you want to use xnet you should't specifiy ipLocal (which is the IP protocol aka TCP/IP) as the protocol. And "Global\Firebird" is a relative path name, I would specify either an alias or a complete absolute path and filename to your database.

HTH


Regards

Stefan


----- Ursprüngliche Nachricht / Original Message -----
Von/From: Stanislav Hruška <sthru...@gmail.com>
Gesendet/Date: 30.11.2021 08:28
An/To: firebird-support <firebird...@googlegroups.com>
Betreff/Subject: [firebird-support] Classic problem: "xnet://Global \Local\FIREBIRD"
--
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 on the web, visit https://groups.google.com/d/msgid/firebird-support/35f7438d-12e3-4a54-a93c-e9fa5c2ad70en%40googlegroups.com.

Mark Rotteveel

unread,
Nov 30, 2021, 4:52:58 AM11/30/21
to firebird...@googlegroups.com
On 2021-11-30 10:47, Stefan Heymann wrote:
> There is a mismatch between xnet and "Protocol = ipLocal".
>
> So if you want to use xnet you should't specifiy ipLocal (which is the
> IP protocol aka TCP/IP) as the protocol. And "Global\Firebird" is a
> relative path name, I would specify either an alias or a complete
> absolute path and filename to your database.

XNET://Global\Firebird is an internal address used by Firebird. It is
not a database path specified by the user. This error occurs when you're
trying to connect to a database without specifying a hostname, and the
Firebird Embedded engine is not available, and Firebird server is not
running on localhost.

Mark

Stanislav Hruška

unread,
Nov 30, 2021, 5:08:45 AM11/30/21
to firebird-support
Thank you for your response.
I control the basic data. I have been looking for a solution on the Internet for a long time. So I know the reason.
I want to use Embedded. The first time I learn I must to use engine12.dll. I have FB 64b installed. Where should I get engine12.dll for 32b? Because of this, I do not intend to install FB 3.0.7 32b.
The fbclient.dll program finds it. And the right version.

Dátum: utorok 30. novembra 2021, čas: 10:52:58 UTC+1, odosielateľ: ma...@lawinegevaar.nl

Stanislav Hruška

unread,
Nov 30, 2021, 5:14:48 AM11/30/21
to firebird-support
I have downloaded packages for Embedeed. There is no engine12.dll in either (32 or 64 b)

Dátum: utorok 30. novembra 2021, čas: 11:08:45 UTC+1, odosielateľ: Stanislav Hruška

Mark Rotteveel

unread,
Nov 30, 2021, 5:27:43 AM11/30/21
to firebird...@googlegroups.com, Stanislav Hruška
On 2021-11-30 11:14, Stanislav Hruška wrote:
> I have downloaded packages for Embedeed. There is no engine12.dll in
> either (32 or 64 b)

Exactly what did you download? For Firebird 3.0 and higher, there no
longer is a separate embedded download.

Mark

Stanislav Hruška

unread,
Nov 30, 2021, 5:31:46 AM11/30/21
to firebird-support
It was long time ago. At the beginning. And it's off topic. According to the post, I need engine12.dll 32b and I don't have it.

Dátum: utorok 30. novembra 2021, čas: 11:27:43 UTC+1, odosielateľ: ma...@lawinegevaar.nl

Mark Rotteveel

unread,
Nov 30, 2021, 5:35:58 AM11/30/21
to firebird...@googlegroups.com
On 2021-11-30 11:08, Stanislav Hruška wrote:
> Thank you for your response.
> I control the basic data. I have been looking for a solution on the
> Internet for a long time. So I know the reason.
> I want to use Embedded. The first time I learn I must to use
> engine12.dll. I have FB 64b installed. Where should I get engine12.dll
> for 32b? Because of this, I do not intend to install FB 3.0.7 32b.
> The fbclient.dll program finds it. And the right version.

You need to download the 32-bit Firebird zip-kit from
https://www.firebirdsql.org/en/firebird-3-0/#Win32

The fact you need engine12.dll is mentioned in the release notes (e.g.
https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rlsnotes30.html#rnfb30-engine-providers),
but you do need to read a bit between the lines. It is also mentioned in
in the Firebird 3.0. Quick Start Guide
(https://www.firebirdsql.org/file/documentation/html/en/firebirddocs/qsg3/firebird-3-quickstartguide.html),
but again, requiring a bit of reading between the lines.

You can also take a look at a blog post I wrote a few years ago (for
using Firebird Embedded with Java, but the basics apply for other
languages):
https://www.lawinegevaar.nl/firebird/jaybird_embedded_example.html

Mark

Stanislav Hruška

unread,
Nov 30, 2021, 5:43:11 AM11/30/21
to firebird-support
Hooray, it helped. Thank you very much. A stone fell from my heart.

Dátum: utorok 30. novembra 2021, čas: 11:35:58 UTC+1, odosielateľ: ma...@lawinegevaar.nl
Reply all
Reply to author
Forward
0 new messages