Access Databases & IIS 6.0
Access Databases & IIS 6.0
am 28.04.2006 14:58:01 von gary
Hello,
I administer a Windows Server 2003 running IIS 6. I also administer multiple
web sites that are hosted on this server. One of the end-users maintains some
Access databases that are contained in one of the virtual webs. He gets the
following error message from time to time:
Unable to establish connection to database.
Error information:
Microsoft JET Database Engine (0x80004005)
The Microsoft Jet database engine cannot open the file
'\\xx.xx.xxx.xxx\nos\ecc\ERETS_V3\db\ERETS.mdb'. It is already opened
exclusively by another user, or you need permission to view its data.
Other possible cause of this problem:
The database cannot be opened, most likely due to incorrect connection
settings or insufficient security set on your database folder or file.
For more details please refer to
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306 518
I have found that rebooting resolves this problem as it is usually memory
that is not reallocated or hung by the process but, this is not a good
solution as it is a server and other webs are hosted. I have also solved some
memory allocation/process problems by going to task manager and selecting
'Inetinfo.exe' and ending that process but that resolution does not work in
this instance.
Can anyone advise me what service an .MDB file is using so that I can
perhaps stop and restart this service in lieu of the reboot?
Re: Access Databases & IIS 6.0
am 28.04.2006 15:11:13 von someone
It's Access/JET, a single-user database, so such sharing errors are
inherently by-design. If you want to avoid it, use a real multi-user
database like SQL Express or even MSDE, both freely available from
Microsoft.
You don't need to reboot the server. You just need to identify what other
process also has an open handle on the MDB file and get rid of it. Most
likely it is another w3wp.exe running some other application, in which case
you just need to recycle the Application Pool. Use iisapp.vbs to map w3wp
PID to Application Pool.
I recommend against killing inetinfo.exe like that. At some point, you will
cause IIS6 to lose configuration data or crash because of it. You should
never need to reboot IIS6 to solve your web application issues. Application
Pool recycling should be sufficient.
As for memory allocation problems -- I suggest using a tool like DebugDiag
to diagnose and fix the issue. In general, you want to diagnose and
troubleshoot issues instead of rebooting servers or killing processes.
Killing inetinfo.exe is the worst possible solution -- there are many easier
and better solutions, but they can require a little more thought:
http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Ba sics_of_IIS6_Troubleshooting.aspx
http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Un derstand_and_Diagnose_an_AppPool_Crash.aspx
--
//David
IIS
http://blogs.msdn.com/David.Wang
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Gary" wrote in message
news:B3190A00-F86E-4299-AA7C-6677D675E84A@microsoft.com...
> Hello,
>
> I administer a Windows Server 2003 running IIS 6. I also administer
> multiple
> web sites that are hosted on this server. One of the end-users maintains
> some
> Access databases that are contained in one of the virtual webs. He gets
> the
> following error message from time to time:
>
> Unable to establish connection to database.
> Error information:
> Microsoft JET Database Engine (0x80004005)
> The Microsoft Jet database engine cannot open the file
> '\\xx.xx.xxx.xxx\nos\ecc\ERETS_V3\db\ERETS.mdb'. It is already opened
> exclusively by another user, or you need permission to view its data.
> Other possible cause of this problem:
> The database cannot be opened, most likely due to incorrect connection
> settings or insufficient security set on your database folder or file.
> For more details please refer to
> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306 518
>
> I have found that rebooting resolves this problem as it is usually memory
> that is not reallocated or hung by the process but, this is not a good
> solution as it is a server and other webs are hosted. I have also solved
> some
> memory allocation/process problems by going to task manager and selecting
> 'Inetinfo.exe' and ending that process but that resolution does not work
> in
> this instance.
>
> Can anyone advise me what service an .MDB file is using so that I can
> perhaps stop and restart this service in lieu of the reboot?
>
Re: Access Databases & IIS 6.0
am 28.04.2006 15:41:02 von gary
David,
Thanks for the quick response.
Can you direct me on the steps to take to "Use iisapp.vbs to map w3wp
PID to Application Pool." and how to recycle the application pool? I'm new
to the features of IIS 6.
Thanks.
-Gary
"David Wang [Msft]" wrote:
> It's Access/JET, a single-user database, so such sharing errors are
> inherently by-design. If you want to avoid it, use a real multi-user
> database like SQL Express or even MSDE, both freely available from
> Microsoft.
>
> You don't need to reboot the server. You just need to identify what other
> process also has an open handle on the MDB file and get rid of it. Most
> likely it is another w3wp.exe running some other application, in which case
> you just need to recycle the Application Pool. Use iisapp.vbs to map w3wp
> PID to Application Pool.
>
> I recommend against killing inetinfo.exe like that. At some point, you will
> cause IIS6 to lose configuration data or crash because of it. You should
> never need to reboot IIS6 to solve your web application issues. Application
> Pool recycling should be sufficient.
>
> As for memory allocation problems -- I suggest using a tool like DebugDiag
> to diagnose and fix the issue. In general, you want to diagnose and
> troubleshoot issues instead of rebooting servers or killing processes.
> Killing inetinfo.exe is the worst possible solution -- there are many easier
> and better solutions, but they can require a little more thought:
> http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Ba sics_of_IIS6_Troubleshooting.aspx
> http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Un derstand_and_Diagnose_an_AppPool_Crash.aspx
>
> --
> //David
> IIS
> http://blogs.msdn.com/David.Wang
> This posting is provided "AS IS" with no warranties, and confers no rights.
> //
>
> "Gary" wrote in message
> news:B3190A00-F86E-4299-AA7C-6677D675E84A@microsoft.com...
> > Hello,
> >
> > I administer a Windows Server 2003 running IIS 6. I also administer
> > multiple
> > web sites that are hosted on this server. One of the end-users maintains
> > some
> > Access databases that are contained in one of the virtual webs. He gets
> > the
> > following error message from time to time:
> >
> > Unable to establish connection to database.
> > Error information:
> > Microsoft JET Database Engine (0x80004005)
> > The Microsoft Jet database engine cannot open the file
> > '\\xx.xx.xxx.xxx\nos\ecc\ERETS_V3\db\ERETS.mdb'. It is already opened
> > exclusively by another user, or you need permission to view its data.
> > Other possible cause of this problem:
> > The database cannot be opened, most likely due to incorrect connection
> > settings or insufficient security set on your database folder or file.
> > For more details please refer to
> > http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306 518
> >
> > I have found that rebooting resolves this problem as it is usually memory
> > that is not reallocated or hung by the process but, this is not a good
> > solution as it is a server and other webs are hosted. I have also solved
> > some
> > memory allocation/process problems by going to task manager and selecting
> > 'Inetinfo.exe' and ending that process but that resolution does not work
> > in
> > this instance.
> >
> > Can anyone advise me what service an .MDB file is using so that I can
> > perhaps stop and restart this service in lieu of the reboot?
> >
>
>
>
Re: Access Databases & IIS 6.0
am 28.04.2006 17:30:26 von Daniel Crichton
Gary wrote on Fri, 28 Apr 2006 05:58:01 -0700:
> Hello,
>
> I administer a Windows Server 2003 running IIS 6. I also administer
> multiple web sites that are hosted on this server. One of the end-users
> maintains some Access databases that are contained in one of the virtual
> webs. He gets the following error message from time to time:
>
> Unable to establish connection to database.
> Error information:
> Microsoft JET Database Engine (0x80004005)
> The Microsoft Jet database engine cannot open the file
> '\\xx.xx.xxx.xxx\nos\ecc\ERETS_V3\db\ERETS.mdb'. It is already opened
> exclusively by another user, or you need permission to view its data.
> Other possible cause of this problem:
> The database cannot be opened, most likely due to incorrect connection
> settings or insufficient security set on your database folder or file.
> For more details please refer to
> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306 518
>
> I have found that rebooting resolves this problem as it is usually memory
> that is not reallocated or hung by the process but, this is not a good
> solution as it is a server and other webs are hosted. I have also solved
> some memory allocation/process problems by going to task manager and
> selecting 'Inetinfo.exe' and ending that process but that resolution does
> not work in this instance.
>
> Can anyone advise me what service an .MDB file is using so that I can
> perhaps stop and restart this service in lieu of the reboot?
When I used to use Access databases on my sites, this message normally
appeared when someone had opened the database in Access itself to make some
changes. However, it's also likely to be caused by having too many
connections at once - Jet is not designed for more than a few simultaneous
users. I'd recommend you find a way to upsize this to SQL Server - you can
use SQL Server 2005 Personal Edition which is free.
Dan