Subject Re: [firebird-support] FDB networking
Author Helen Borrie
At 10:22 AM 16/03/2012, Marc Gilels wrote:
> I finaly got a hold of my IT/programmer and he
>claims that this new software has FB imbedded and that every version is the same version for server and client......he is going to get back to me with help. It will be interesting to see since he indicated that it should connect the same way Access did, with full permissions and a path to the server FDB.
>connect to MYDBSERVER:C:\MyDatabases\MyDatabase.fdb (or whatever).

Originally you wrote:
>My IT person is away on spring break and I am having trouble
>getting a my network to access the FDB from another computer.
>I am getting an error similar to : " can not open FDB"
>All permissions are have been given. The database opens fine on the
>server.

You have a problem here (or your programmer does!) The embedded model of Firebird combines a client and a server in the single library (on Windows, fbembed.dll, sometimes renamed to fbclient.dll). The client part provides the interface between the application software and the server that is embedded. The embedded server cannot provide access to a database (what you call the "FDB") that is located on a physically different machine. If this is what you are trying to make the application do, it won't happen. The error message your report is exactly what happens when you try.

An embedded application running on one workstation can access a database located *only on the same workstation*. If this software package is being deployed to multiple users, then each user would require his/her own local copy of the database on his/her own workstation. There would be no way to synchronise all of these copies of the database, unless you had replication software installed and configured.

You wrote:
>[the programmer] indicated that it should connect the same way Access did, with full permissions and a path to the server FDB.

Your programmer may have made the (wrong) assumption that his embedded application could connect to a database located on a network drive, through a share or similar....although it seems very odd that he would not have tested his assumptions before deploying it to you. I wonder whether there is something in your requirements that has been misunderstood, for you to have ended up with a stand-alone system, not intended to access a database for multiple users...

>connect to MYDBSERVER:C:\MyDatabases\MyDatabase.fdb (or whatever)

This is a network connection string and it won't work for an embedded connection. The embedded client interface code in fbembed.dll *can* be used to connect to a remote database. The embedded server code (which does not listen for network connection requests) would be ignored with this connection string. If the remote Firebird server is actually running (-- is it --?) and the host name and path are valid, it should be able to connect with the remote server and thence to the database.

./heLen