Subject Re: RootDirectory and location of database files
Author Marc Batchelor
> RootDirectory is used to specify the root directory under which
Firebird is
> installed.
>
> System32 is probably used as a default by windows, OOI where does
system32
> sit in your environment path settings?

It's on the C: drive, firebird is on my E: drive.

> > My ideal is that remote users creating databases should have
> > no knowledge that firebird is on the E: drive, in a specific
> > directory.
>
> This is what aliases are for, as long as the alias specifies the
path i.e.
>
> alias = e:\firebird_1_5\data\dbname.fdb

Right. But in this case, I'd have to modify the alias.conf everytime
someone wants to create a database.

> The problem probably lies with the fact the OS uses its System/User Path
> variables to determine where the root is, in your case its looking at
> $(system32)\Data\...

Actually, the C:\Windows\System32 directory is where services.exe
lives. Services.exe is responsible for executing each service in the
services registry. So, the OS path for services.exe is the root path
as far as the OS is concerned. When the firebird server gets a request
to create a file, I would think that it should either:

a- Base that off the root directory, not the OS default
or
b- Allow specification of the default file path (which is what I
though setting RootDirectory was supposed to do).

> This error will occur if the path C:\WINDOWS\SYSTEM32\DATA\ does not
exist
> or the process running Firebird does not have RW access to said path.

Actually, the error part is expected because I'm restricting where
databases are allowed to go. My expectation was that, since I'm
restricting databases to certain locations, that firebird wouldn't
default to a location that wasn't one of those locations.

>
> > The only way for a remote user to create a database in my
> > E:\Firebird_1_5\data directory is for them to expressly
> > specify that path.
>
> Unless the alias is pre-specified in aliases.conf.

And that involves intervention by the administrator (to modify the
aliases.conf) and (I assume) a server restart to pick up the new alias.


> No, its used to specify the install directory of FB, not the default
data
> directory. It would (imo) be a nice enhancement if you could specify a
> default data directory.

I agree, although it seems as if I'm doing that in my firebird.conf
file when I'm specifying:

DatabaseAccess = Restrict E:\firebird_1_5;E:\firebird_1_5\data

Thanks for your input. Seems to be inconsistant behavior to me. Does
anyone else agree?