Concurrent Web- and direct access to an Access DB

C

CJM

I'm setting up some web-based (ASP) reports that query an Access DB. I also
want certain people to be able to access and manipulate the database
directly.

However, if the database is open in Access, I cant access it via ASP:

Microsoft JET Database Engine error '80004005'
Could not use ''; file already in use.



Is there anyway the web application and direct-access users can peacefully
coexist? I know Access isnt really strong on concurrent access, but I figure
it ought to at least be able to handle this...

Thanks

Chris
 
B

Bob Barrows [MVP]

CJM said:
I'm setting up some web-based (ASP) reports that query an Access DB.
I also want certain people to be able to access and manipulate the
database directly.

However, if the database is open in Access, I cant access it via ASP:

Microsoft JET Database Engine error '80004005'
Could not use ''; file already in use.



Is there anyway the web application and direct-access users can
peacefully coexist? I know Access isnt really strong on concurrent
access, but I figure it ought to at least be able to handle this...

This IS covered at http://www.aspfaq.com/show.asp?id=2009 - 80004005 errors

All users of a Jet database need read/write (Change) permissions for the
folder containing the database. This includes the IUSR account.

Bob Barrows
 
B

Bob Barrows [MVP]

CJM said:
It IS covered, however, it DOESNT solve my problem, hence the reason I
posted...

Sorry, I missed the part in your original post where you said you had read
this article ... ;-)

As long as all users (including the IUSR and IWAM accounts) have filesystem
permissions to the folder containing the database, there should be no
problem. It works fine for me. I guess you need to provide some more
information.

Bob Barrows
 
M

[MSFT]

Hello,

In MS Access, if you choose "Open Read only" to open the access file, will
you open it in ASP? If you only need to query the Access database, you may
add "Mode=Read;" in the connection string. Will this help

Luke
 
C

CJM

Bob Barrows said:
As long as all users (including the IUSR and IWAM accounts) have filesystem
permissions to the folder containing the database, there should be no
problem. It works fine for me. I guess you need to provide some more
information.

I'm going to check all my facts this morning just to make sure I havent
missed anything.. I'll repost when I have confirmed what is happening.

tx

CJM
 
C

CJM

Luke,

I've already tried this. Well, rather than modify my connections string, I
set the connection objects mode property instead, which should have the same
effect - but didnt.

As I said to Bob, I'll check for loose ends and will repost shortly...

Chris
 
C

CJM

Still no nearer a solution...

As I understand it, I should be able to access & edit the DB via MS Access
at the same time that a web app accesses the the DB (read only). Obviously,
if the web app tries to access records opened in the MS Access application,
an error is expected...

KB174943 (http://support.microsoft.com/?id=174943) states that the IUSR user
needs sufficient privileges; for both my development machine (XP) and the
live server (Win2k3), the IUSR user has Full rights to the whole application
directory. Indeed, I even added the IUSR user on the XP machine to the local
administrators group.

If I open the DB in Access as Read Only, I can run the web app at the same
time.

Any further thoughts or ideas?

Chris
 
B

Bob Barrows [MVP]

CJM said:
Still no nearer a solution...

As I understand it, I should be able to access & edit the DB via MS
Access at the same time that a web app accesses the the DB (read
only). Obviously, if the web app tries to access records opened in
the MS Access application, an error is expected...

KB174943 (http://support.microsoft.com/?id=174943) states that the
IUSR user needs sufficient privileges; for both my development
machine (XP) and the live server (Win2k3), the IUSR user has Full
rights to the whole application directory. Indeed, I even added the
IUSR user on the XP machine to the local administrators group.

If I open the DB in Access as Read Only, I can run the web app at the
same time.

Any further thoughts or ideas?

Chris

If the web application's protection setting is High(Isolated). then the IWAM
account is the user, not the IUST account, and therefore it needs Change
permissions for the folder containing the database. The issue is that all
users of the database file need to have the ability to create, modify, and
delete the .lck (lock) file in that same directory/folder. "Full"
permissions is not needed, only Change permissions. Don't go crazy here:
users do not need to be administrators, or anything that extreme. They do
not need to have permissions for the whole application folder. They need to
be able to Change files in the database folder. If you have granted them
those permissions and it is still not working, then more permissions is not
the answer.

Are we dealing with a database on a remote machine? If so, the IUSR account
has to become a domain user.

Bob Barrows
 
C

CJM

Bob Barrows said:
If the web application's protection setting is High(Isolated). then the IWAM
account is the user, not the IUST account, and therefore it needs Change
permissions for the folder containing the database. The issue is that all
users of the database file need to have the ability to create, modify, and
delete the .lck (lock) file in that same directory/folder. "Full"
permissions is not needed, only Change permissions. Don't go crazy here:
users do not need to be administrators, or anything that extreme. They do
not need to have permissions for the whole application folder. They need to
be able to Change files in the database folder. If you have granted them
those permissions and it is still not working, then more permissions is not
the answer.

The application protection is set to Medium (Pooled).

The KB article suggest assigning the IUSR user to the local administrators
group as a quick check. Needless to say, it won't be left that way.
Are we dealing with a database on a remote machine? If so, the IUSR account
has to become a domain user.

No... in both cases the DB is local to the web server.

[However, I will soon have to access an Access DB on a remote machine to
I've made a mental note about the domain user issue - thanks]

Chris
 
D

Dave Anderson

CJM said:
Still no nearer a solution...

...If I open the DB in Access as Read Only, I can run the web
app at the same time.

Any further thoughts or ideas?

Have you tried simply linking to it? I inherited an Access-based ASP
application, and whenever I want to mess with the data, I open a local
Access DB and link to the one on the web server (File : Get External Data :
Link Tables). I can make changes through either interface without
interfering with the other.


--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
 
M

[MSFT]

Hi Chris,

Is the access file also under \inetpub\wwwroot ? If so, you may try to move
it out to see if this will help. Furthermore, I suggest you may trace the
file access with a utility "Filemon". It can record all access to the
files. If you can find a "Access denied" error in the log, we can know if
there is any file/directory we need to grant permission for IUSER. Here is
the link for download it:

http://www.sysinternals.com/ntw2k/source/filemon.shtml

Luke
 
C

CJM

Yet again for unknown reasons the problem has disappeared!

I had set the connection to read only which should have solved the problem,
but initially it didnt appear to. However, when I came back to it yesterday,
it seemed to work OK.

Incidently, I tried Dave's solution which also worked fine, though it seemed
to be avoiding the problem rather than solving it (nothing wrong with that I
suppose).

AFAIK, I shouldnt need to set the connection mode to read only, but it works
so I'll stick with it.

Thanks to Luke/Bob for your efforts/

Chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,185
Members
46,736
Latest member
AdolphBig6

Latest Threads

Top