Subject | Re: [firebird-support] Utilities link libfbembed.so on Linux CS. How does they access to remote database ? |
---|---|
Author | Helen Borrie |
Post date | 2007-08-30T02:33:34Z |
At 10:36 AM 30/08/2007, Meiji wrote:
"client" part of libfbembed.so accesses the database directly (as a
file) by way of the server that is embedded in the library, i.e., it
does not work through an instance of the fb_inet_server executable,
as remote clients do.
So - when an instance of gbak wants to access a database locally, it
uses libfbembed.so.
a request to the Service Manager code at the remote server. The
remote Service Manager will make the actual connection and execute
the backup, using code that is embedded in the engine. (The code
that the Service Manager executes is the same code that is deployed
in the gbak executable.)
which case the direct connection to the embedded server code is not
used, but instead a fb_inet_server process will be created by xinetd.
Theoretically, the client part of libfbembed.so should be able to do
a connection to a remote server, provided of course that the local
Linux user has the required permissions to create the remote backup
file. I remember that it didn't work in the past and you needed to
extract libfbclient.so and the "remotable" versions of the utilities
from the SS tarball...maybe this has changed with more recent
distributions - why not try it out?
./heLen
>I am a newbie for FB Linux CS. I used 'ldd' command on Linux andYes, when you access a database locally with the Classic server, the
>it says FB utilities link libfbembed.so. For example gbak (on FB 1.5.4)
>
>ldd gbak
>linux-gate.so.1 => (0x005e9000)
>libfbembed.so.1 => /usr/lib/libfbembed.so.1 (0x00110000)
>:
>
>I understand the gbak use libfbembed.so under local database access.
"client" part of libfbembed.so accesses the database directly (as a
file) by way of the server that is embedded in the library, i.e., it
does not work through an instance of the fb_inet_server executable,
as remote clients do.
So - when an instance of gbak wants to access a database locally, it
uses libfbembed.so.
>But we use gbak in order to access a remote database via network.In that case, the gbak client at your calling machine is only passing
>In that case, how does gbak access to it ?
a request to the Service Manager code at the remote server. The
remote Service Manager will make the actual connection and execute
the backup, using code that is embedded in the engine. (The code
that the Service Manager executes is the same code that is deployed
in the gbak executable.)
>libfbembed.so have a capability of accessing to remote database ? orYou *can* make a local loopback connection using libfbembed.so, in
>gbak load libfbclient.so dynamically and use it ?
which case the direct connection to the embedded server code is not
used, but instead a fb_inet_server process will be created by xinetd.
Theoretically, the client part of libfbembed.so should be able to do
a connection to a remote server, provided of course that the local
Linux user has the required permissions to create the remote backup
file. I remember that it didn't work in the past and you needed to
extract libfbclient.so and the "remotable" versions of the utilities
from the SS tarball...maybe this has changed with more recent
distributions - why not try it out?
./heLen