Subject RE: [firebird-support] RootDirectory and location of database files
Author Simon Carter
> -----Original Message-----
> On my new server configuration, I'm taking advantage of aliases
> (aliases.conf) and the setting in the firebird.conf called
> DatabaseAccess. What I can't figure out though is why (under
> Windows) the default location it tries to create a database
> is under C:\Windows\System32, even though I've specified what
> my RootDirectory is in the configuration file.

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?

> 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

>
> For example, I imagined that the creator of a new database
> should be able to use syntax like this:
>
> create database 'theserver:data/newdb.fdb'
>

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\...

> Anyway, I get the following error when I attempt to do that:
>
> Access to database "C:\WINDOWS\SYSTEM32\DATA\TEST.FDB" is
> denied by server administrator

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.

> 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.

> Shouldn't RootDirectory somehow get involved here and at
> least let stuff get created relative to RootDirectory?

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.

> By the way - I tried creating a special user for the fbguard
> and fbserver services, and set it's home directory to E:\Firebird_1_5.
> Same problem.
> Am I missing a setting somewhere?

A while back I wrote a guide
(http://www.tectsoft.net/products/firebird/install/default.aspx) for
installing FB on Windows 2003 (and NT variants including XP), however I
don't think this would solve the problem as your relying on the OS to
specify the path.

It might be worth adding E:\Firebird_1_5\data\ as the first path in the
user/system path environment (or last) to see what happens.

Rgds

Si Carter
http://www.tectsoft.net/