Subject Re: [firebird-support] external table don't work
Author Helen Borrie
At 07:57 PM 17/11/2009, you wrote:
>hi all, i'm using firebird 2.1 with windows (32).
>i'm using the super-server version.
>i have set in firebird.conf
>#ExternalFileAccess = Full
>#DatabaseAccess = Full
>(i use Full only to make it works without problem, then i will reduce them)
>i'm trying to create an external table in the same dir of my db
>(the directory is in c:\ partition in the machine where the service is running).
>i'm using this sql (i try both in isql and sql manager 2008 for firebird)
>CREATE TABLE ext1 EXTERNAL 'c:\MY DB DIR\myfile.txt'
>field1 char(20),
>field2 smallint
>this statement is executed without problem (but no file is created).

That's right. You have to place the file there.

>if i make same action on that table i got an exception
>Access to external file 'c:\MY DB DIR\myfile.txt' is denied by server administrator.
>Note: after that i changed the firebird.config i had rebooted the machine
>Note2: the windows permission on my db dir are the defaults and all work perfect with db file so i think that the permission error is about firebird permission
>i don't know where i wrong, has samebody an idea?

How could the database engine open a file that does not exist?

Furthermore, if you *have* created a file that the database engine could recognise, then only one transaction can access it. The file itself is out of transaction control, but an uncommitted transaction, even one that is just "reading" an empty file, has exclusive access to it.