Subject Re: [firebird-support] PROGRAMDATA Error while trying to write to file
Author Helen Borrie
At 01:28 AM 21/02/2008, you wrote:
>I install my database.gdb file to the CommonAppData folder, on Vista
>this is
>
>C:\ProgramData\MyCompany\MyApp\database.gdb
>
>When I start my app I experience the following exception. Where on
>Vista should I install my DB? I really need all users to share the
>same DB.

With embedded the database can't be shared. Embedded is a special model that runs a single instance of the Superserver for the exclusive use of the client instance that it is embedded with. So, while that client/server instance pair has a database open, no other client or server can access that database.

>Note that I have the embeddedfb dll in my app folder so that all DB access is local and no DB server is required.

That will work *as designed* for one user, provided you renamed fbembed.dll to fbclient.dll (or gds32.dll, if your application expects that to be the name of the client).

>How do I solve this? My restrictions are
>01: I can't install a DB server (it's a single user app)

Embedded is for a single-user application connecting to a single-user database located in storage on the same *physical* file system.

>02: The file must be in a shared location so that multiple users can
>install the app and use the same database.

Can't work. For multiple user access to a database, it has to be connected to by a multi-user server. Embedded is not a multi-user server, it is specifically a SINGLE-user server.

Furthermore (although it's probably not relevant to the immediate "problem") Firebird is not a file-served DBMS so you can't connect to a file share of any kind (whether SMB path or logical server).

Perhaps it's time you read up on some documentation, starting with the Quick Start Guide...if it is not in your download kit you can get it via the Documentation resource from the Fb website.

./heLen