Subject | Re: [firebird-support] Operating System Directive Createfile failed |
---|---|
Author | Helen Borrie |
Post date | 2006-05-24T01:46:35Z |
At 06:39 AM 24/05/2006, you wrote:
database directory are not the issue here. If the database exists
and can sometimes be opened, the I/O error doesn't concern the database file.
The "user accessing the database" (from the POV of the operating
system) will be (by default installation settings for services) the
OS user 'firebird" on Linux or 'localsystem' on Windows. On Linux
that user also needs execute permissions on any directory in which it
is likely to create a file.
However --
On Windows, if you are running the Firebird server as an application
(this includes Fb embedded), the logged-in OS user will be the owner
of the server process and filesystem permissions would then apply to
anything the server had to create in the filesystem.
On Linux if you are running Classic and connecting locally then,
again, the logged-in OS user owns the process and you will bump into
FS permissions.
startup - '.LCK'
files in some cases; 'firebird.log' if it doesn't already exist, etc.
server will have to recreate it next time it wants to write a log
record. Maybe you have some cron job (or batchfile) that deletes the
log? And there is a permissions problem preventing the
recreation...or whatever.
If memory resources are low, the server will also use the disk to
hold sort files. Of course, it needs to create these files. Maybe
your data access layer does some kind of ordered query on the system
tables when a client logs in. If you haven't configured some disk
space for this it will try to use the /tmp directory (Linux) or, on
Windows, whatever directory is configured as the TEMP directory. If
disk resources are also marginal, and the server can't find enough
space there to write the sort files, you could get an I/O error
then. Likewise if you don't have a TEMP directory configured on the OS at all.
But really you have given us a needle in a haystack - no indication
of your operating system platform, Fb server model, environment, or
what kind of connection is being attempted.
./heLen
>I get the error "Operating System Directive Createfile failed" whenUnless your appl is creating the database, permissions on the
>opening a Firebird database. I have tried looking this error up on
>the internet and was not able to find anything that would help. The
>user accessing the database does have read/write permissions on the
>directory where the database resides.
database directory are not the issue here. If the database exists
and can sometimes be opened, the I/O error doesn't concern the database file.
The "user accessing the database" (from the POV of the operating
system) will be (by default installation settings for services) the
OS user 'firebird" on Linux or 'localsystem' on Windows. On Linux
that user also needs execute permissions on any directory in which it
is likely to create a file.
However --
On Windows, if you are running the Firebird server as an application
(this includes Fb embedded), the logged-in OS user will be the owner
of the server process and filesystem permissions would then apply to
anything the server had to create in the filesystem.
On Linux if you are running Classic and connecting locally then,
again, the logged-in OS user owns the process and you will bump into
FS permissions.
>This error does not occurIn the Firebird root directory, the server creates various files at
>everytime we attempt to open the database. Can someone tell what file
>is being created when Firebird starts and in which system directory?
startup - '.LCK'
files in some cases; 'firebird.log' if it doesn't already exist, etc.
>If the firebird.log file is being deleted intermittently then the
>And what else could be causing this error to occur intermittently on
>the same pc?
server will have to recreate it next time it wants to write a log
record. Maybe you have some cron job (or batchfile) that deletes the
log? And there is a permissions problem preventing the
recreation...or whatever.
If memory resources are low, the server will also use the disk to
hold sort files. Of course, it needs to create these files. Maybe
your data access layer does some kind of ordered query on the system
tables when a client logs in. If you haven't configured some disk
space for this it will try to use the /tmp directory (Linux) or, on
Windows, whatever directory is configured as the TEMP directory. If
disk resources are also marginal, and the server can't find enough
space there to write the sort files, you could get an I/O error
then. Likewise if you don't have a TEMP directory configured on the OS at all.
But really you have given us a needle in a haystack - no indication
of your operating system platform, Fb server model, environment, or
what kind of connection is being attempted.
./heLen