Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Using Access Database while Internet Users use DB simultaneously

Reply
Thread Tools

Using Access Database while Internet Users use DB simultaneously

 
 
Marcus S
Guest
Posts: n/a
 
      01-22-2011
I have an msAccess database back-end ( .mdb or .accdb both formats
work ) set up with .asp pages. An msAccess front-end links to the
msAccess back-end. The front-end is what my co-workers will use to
edit the database. With the .asp pages web users are able to access
the back-end at the same time the msAccess front-end is being used,
its great. I am trying to convert to .aspx and its works great on the
web-side as long as the msAccess front-end is not open, otherwise I
get a "file already in use error" from the .aspx page.
The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
here] ) files are located in the same directory with the same
permissions (including IIS_WPG and IUSR) where a simultaneously
accessible .asp / ( .mdb or .accdb ) solution is actively working. How
but once I make it an .aspx / ( .mdb or .accdb ) combo it is only
accessible by .aspx while no msAccess users are using the ( .mdb
or .accdb ). So what sort of record locking (.ldb / .lccdb) enabler
is missing from my .aspx implementation?
 
Reply With Quote
 
 
 
 
Arne Vajh°j
Guest
Posts: n/a
 
      01-22-2011
On 21-01-2011 19:23, Marcus S wrote:
> I have an msAccess database back-end ( .mdb or .accdb both formats
> work ) set up with .asp pages. An msAccess front-end links to the
> msAccess back-end. The front-end is what my co-workers will use to
> edit the database. With the .asp pages web users are able to access
> the back-end at the same time the msAccess front-end is being used,
> its great. I am trying to convert to .aspx and its works great on the
> web-side as long as the msAccess front-end is not open, otherwise I
> get a "file already in use error" from the .aspx page.
> The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
> here] ) files are located in the same directory with the same
> permissions (including IIS_WPG and IUSR) where a simultaneously
> accessible .asp / ( .mdb or .accdb ) solution is actively working. How
> but once I make it an .aspx / ( .mdb or .accdb ) combo it is only
> accessible by .aspx while no msAccess users are using the ( .mdb
> or .accdb ). So what sort of record locking (.ldb / .lccdb) enabler
> is missing from my .aspx implementation?


How does the connection string look in ASP and in ASP.NET?

I believe there are differences between IIS/ASP.NET versions,
but at least in some cases ASP run as IUSR_xxxx while ASP.NET runs
as ASPNET !

Arne

 
Reply With Quote
 
 
 
 
Marcus S
Guest
Posts: n/a
 
      01-22-2011
On Jan 21, 7:08*pm, Arne Vajh°j <(E-Mail Removed)> wrote:
> On 21-01-2011 19:23, Marcus S wrote:
>
>
>
>
>
>
>
>
>
> > I have an msAccess database back-end ( .mdb or .accdb both formats
> > work ) set up with .asp pages. *An msAccess front-end links to the
> > msAccess back-end. *The front-end is what my co-workers will use to
> > edit the database. *With the .asp pages web users are able to access
> > the back-end at the same time the msAccess front-end is being used,
> > its great. *I am trying to convert to .aspx and its works great on the
> > web-side as long as the msAccess front-end is not open, otherwise I
> > get a "file already in use error" from the .aspx page.
> > The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
> > here] ) files are located in the same directory with the same
> > permissions (including IIS_WPG and IUSR) where a simultaneously
> > accessible .asp / ( .mdb or .accdb ) solution is actively working. How
> > but once I make it an .aspx / *( .mdb or .accdb ) combo it is only
> > accessible by .aspx while no msAccess users are using the ( .mdb
> > or .accdb ). *So what sort of record locking (.ldb / .lccdb) enabler
> > is missing from my .aspx implementation?

>
> How does the connection string look in ASP and in ASP.NET?
>
> I believe there are differences between IIS/ASP.NET versions,
> but at least in some cases ASP run as IUSR_xxxx while ASP.NET runs
> as ASPNET !
>
> Arne


..asp Connection String:
sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath("xxxxxxx.mdb")

..aspx Connection String:
sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath("xxxxxxx.mdb")


So connection strings are identical.

IIS/ASP.NET version is 2.0

Could not find "ASPNET" user on my domain.
 
Reply With Quote
 
Arne Vajh°j
Guest
Posts: n/a
 
      01-23-2011
On 22-01-2011 14:21, Marcus S wrote:
> On Jan 21, 7:08 pm, Arne Vajh°j<(E-Mail Removed)> wrote:
>> On 21-01-2011 19:23, Marcus S wrote:
>>> I have an msAccess database back-end ( .mdb or .accdb both formats
>>> work ) set up with .asp pages. An msAccess front-end links to the
>>> msAccess back-end. The front-end is what my co-workers will use to
>>> edit the database. With the .asp pages web users are able to access
>>> the back-end at the same time the msAccess front-end is being used,
>>> its great. I am trying to convert to .aspx and its works great on the
>>> web-side as long as the msAccess front-end is not open, otherwise I
>>> get a "file already in use error" from the .aspx page.
>>> The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
>>> here] ) files are located in the same directory with the same
>>> permissions (including IIS_WPG and IUSR) where a simultaneously
>>> accessible .asp / ( .mdb or .accdb ) solution is actively working. How
>>> but once I make it an .aspx / ( .mdb or .accdb ) combo it is only
>>> accessible by .aspx while no msAccess users are using the ( .mdb
>>> or .accdb ). So what sort of record locking (.ldb / .lccdb) enabler
>>> is missing from my .aspx implementation?

>>
>> How does the connection string look in ASP and in ASP.NET?
>>
>> I believe there are differences between IIS/ASP.NET versions,
>> but at least in some cases ASP run as IUSR_xxxx while ASP.NET runs
>> as ASPNET !

>
> .asp Connection String:
> sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;"& _
> "Data Source="& Server.MapPath("xxxxxxx.mdb")
>
> .aspx Connection String:
> sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;"& _
> "Data Source="& Server.MapPath("xxxxxxx.mdb")
>
> So connection strings are identical.
>
> IIS/ASP.NET version is 2.0
>
> Could not find "ASPNET" user on my domain.


Those connection strings are literally identical.

ASPNET is a local account.

I checked the docs - it should only be there for
Win 2000 & XP IIS 5.x - newer versions should
use the network service account.

But I don't know if that is relevant for your problem.

Arne


 
Reply With Quote
 
Marcus S
Guest
Posts: n/a
 
      01-23-2011
On Jan 22, 5:29*pm, Arne Vajh°j <(E-Mail Removed)> wrote:
> On 22-01-2011 14:21, Marcus S wrote:
>
>
>
>
>
>
>
>
>
> > On Jan 21, 7:08 pm, Arne Vajh j<(E-Mail Removed)> *wrote:
> >> On 21-01-2011 19:23, Marcus S wrote:
> >>> I have an msAccess database back-end ( .mdb or .accdb both formats
> >>> work ) set up with .asp pages. *An msAccess front-end links to the
> >>> msAccess back-end. *The front-end is what my co-workers will use to
> >>> edit the database. *With the .asp pages web users are able to access
> >>> the back-end at the same time the msAccess front-end is being used,
> >>> its great. *I am trying to convert to .aspx and its works great on the
> >>> web-side as long as the msAccess front-end is not open, otherwise I
> >>> get a "file already in use error" from the .aspx page.
> >>> The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
> >>> here] ) files are located in the same directory with the same
> >>> permissions (including IIS_WPG and IUSR) where a simultaneously
> >>> accessible .asp / ( .mdb or .accdb ) solution is actively working. How
> >>> but once I make it an .aspx / *( .mdb or .accdb ) combo it is only
> >>> accessible by .aspx while no msAccess users are using the ( .mdb
> >>> or .accdb ). *So what sort of record locking (.ldb / .lccdb) enabler
> >>> is missing from my .aspx implementation?

>
> >> How does the connection string look in ASP and in ASP.NET?

>
> >> I believe there are differences between IIS/ASP.NET versions,
> >> but at least in some cases ASP run as IUSR_xxxx while ASP.NET runs
> >> as ASPNET !

>
> > .asp Connection String:
> > sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;"& *_
> > "Data Source="& *Server.MapPath("xxxxxxx.mdb")

>
> > .aspx Connection String:
> > sConnString="PROVIDER=Microsoft.ACE.OLEDB.12.0;"& *_
> > "Data Source="& *Server.MapPath("xxxxxxx.mdb")

>
> > So connection strings are identical.

>
> > IIS/ASP.NET version is 2.0

>
> > Could not find "ASPNET" user on my domain.

>
> Those connection strings are literally identical.
>
> ASPNET is a local account.
>
> I checked the docs - it should only be there for
> Win 2000 & XP IIS 5.x - newer versions should
> use the network service account.
>
> But I don't know if that is relevant for your problem.
>
> Arne


I'm running server 2003 64-bit with IIS 6.0 so it was the network
service account.

Thank you, I have solved this problem with your help.

http://msdn.microsoft.com/en-us/library/ff647402.aspx

FYI: Posting the above link for others in the future. It got my aspx
executing while msAccess was also open. thanks again, Arne.
 
Reply With Quote
 
Brian Cryer
Guest
Posts: n/a
 
      01-24-2011
On 22/01/2011 00:23, Marcus S wrote:
> I have an msAccess database back-end ( .mdb or .accdb both formats
> work ) set up with .asp pages. An msAccess front-end links to the
> msAccess back-end. The front-end is what my co-workers will use to
> edit the database. With the .asp pages web users are able to access
> the back-end at the same time the msAccess front-end is being used,
> its great. I am trying to convert to .aspx and its works great on the
> web-side as long as the msAccess front-end is not open, otherwise I
> get a "file already in use error" from the .aspx page.
> The .asp, .aspx, and the ( .mdb or .accdb [format not the issue
> here] ) files are located in the same directory with the same
> permissions (including IIS_WPG and IUSR) where a simultaneously
> accessible .asp / ( .mdb or .accdb ) solution is actively working. How
> but once I make it an .aspx / ( .mdb or .accdb ) combo it is only
> accessible by .aspx while no msAccess users are using the ( .mdb
> or .accdb ). So what sort of record locking (.ldb / .lccdb) enabler
> is missing from my .aspx implementation?


Sorry, I can't answer your specific question

But, when I'm recruiting and interviewing software engineers its one of
my standard questions to ask why is MS-Access not suitable as a database
for a website. The bottom line is that MS-Access (which is great for
what it is) isn't suitable for a website becasue its single threaded,
meaning that if one process is doing a query or an insert then it blocks
everything else. So its fine for developing a simple site with (not that
I would) and I suppose for very low traffic sites, but not it you have
more than a small handful of concurrent visitors. So in the mid to long
term you would experience much better performance by switching to
Sql-Server or MySQL.

With your problem in hand, what is the error you are getting or is it
just locking up? If its locking then its almost certainly down to the
single threaded nature of MS-Access - so check to ensure that all your
connections are closed and you haven't left any queries open. If you get
an error then what it is?

Hope this helps.
--
Brian Cryer
http://www.cryer.co.uk/brian


--
Brian Cryer
http://www.cryer.co.uk
 
Reply With Quote
 
Jason Keats
Guest
Posts: n/a
 
      01-24-2011
Brian Cryer wrote:
>
> Sorry, I can't answer your specific question
>
> But, when I'm recruiting and interviewing software engineers its one of
> my standard questions to ask why is MS-Access not suitable as a database
> for a website. The bottom line is that MS-Access (which is great for
> what it is) isn't suitable for a website becasue its single threaded,
> meaning that if one process is doing a query or an insert then it blocks
> everything else. So its fine for developing a simple site with (not that
> I would) and I suppose for very low traffic sites, but not it you have
> more than a small handful of concurrent visitors. So in the mid to long
> term you would experience much better performance by switching to
> Sql-Server or MySQL.
>


Brian, a Jet database can have up to 255 concurrent users. If you don't
maintain a database connection for each user, then it is possible to
support many more concurrent users.

The judicious use of disconnected ADO recordsets, to help minimise
connection time, along with ASP.NET's ability to queue requests make it
quite possible to support several hundred concurrent users - which is as
many as most ASP.NET sites can support anyway.

However, it is true that MSSQL (or any another true database server) is
likely to perform better and to be more reliable - due to it's log
files, etc.
 
Reply With Quote
 
Brian Cryer
Guest
Posts: n/a
 
      01-24-2011
On 24/01/2011 13:57, Jason Keats wrote:
> Brian Cryer wrote:
>>
>> Sorry, I can't answer your specific question
>>
>> But, when I'm recruiting and interviewing software engineers its one of
>> my standard questions to ask why is MS-Access not suitable as a database
>> for a website. The bottom line is that MS-Access (which is great for
>> what it is) isn't suitable for a website becasue its single threaded,
>> meaning that if one process is doing a query or an insert then it blocks
>> everything else. So its fine for developing a simple site with (not that
>> I would) and I suppose for very low traffic sites, but not it you have
>> more than a small handful of concurrent visitors. So in the mid to long
>> term you would experience much better performance by switching to
>> Sql-Server or MySQL.
>>

>
> Brian, a Jet database can have up to 255 concurrent users. If you don't
> maintain a database connection for each user, then it is possible to
> support many more concurrent users.


True. Although I still think that Access is single threaded - but I
acknowledge that I confused the boundaries between Jet (driver) and
Access (application).

> The judicious use of disconnected ADO recordsets, to help minimise
> connection time, along with ASP.NET's ability to queue requests make it
> quite possible to support several hundred concurrent users - which is as
> many as most ASP.NET sites can support anyway.
>
> However, it is true that MSSQL (or any another true database server) is
> likely to perform better and to be more reliable - due to it's log
> files, etc.


Agreed.

I don't suppose Microsoft have made any progress on allowing space to be
reclaimed, to avoid the need for a compact operation?
--
Brian Cryer
http://www.cryer.co.uk
 
Reply With Quote
 
Arne Vajh°j
Guest
Posts: n/a
 
      01-25-2011
On 24-01-2011 04:23, Brian Cryer wrote:
> But, when I'm recruiting and interviewing software engineers its one of
> my standard questions to ask why is MS-Access not suitable as a database
> for a website. The bottom line is that MS-Access (which is great for
> what it is) isn't suitable for a website becasue its single threaded,
> meaning that if one process is doing a query or an insert then it blocks
> everything else.


I can not but wonder about what you hire.

The above is not correct.

The LDB file is specifically there to handle that problem.

> So its fine for developing a simple site with (not that
> I would) and I suppose for very low traffic sites, but not it you have
> more than a small handful of concurrent visitors. So in the mid to long
> term you would experience much better performance by switching to
> Sql-Server or MySQL.


SQLServer and MySQL can handle a lot more concurrent users. LDB file
works but is not as efficient as the in memory locks in a database
server.

Arne
 
Reply With Quote
 
Arne Vajh°j
Guest
Posts: n/a
 
      01-25-2011
On 24-01-2011 10:46, Brian Cryer wrote:
> On 24/01/2011 13:57, Jason Keats wrote:
>> Brian Cryer wrote:
>>> But, when I'm recruiting and interviewing software engineers its one of
>>> my standard questions to ask why is MS-Access not suitable as a database
>>> for a website. The bottom line is that MS-Access (which is great for
>>> what it is) isn't suitable for a website becasue its single threaded,
>>> meaning that if one process is doing a query or an insert then it blocks
>>> everything else. So its fine for developing a simple site with (not that
>>> I would) and I suppose for very low traffic sites, but not it you have
>>> more than a small handful of concurrent visitors. So in the mid to long
>>> term you would experience much better performance by switching to
>>> Sql-Server or MySQL.
>>>

>>
>> Brian, a Jet database can have up to 255 concurrent users. If you don't
>> maintain a database connection for each user, then it is possible to
>> support many more concurrent users.

>
> True. Although I still think that Access is single threaded


It is not. If that was the case then the LDB file would
not be needed.

Arne

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
DataBase DataBase DataBase DataBase scott93727@gmail.com Computer Information 0 09-26-2012 09:40 AM
Read from database, write to another database, simultaneously Sean Davis Python 16 01-12-2007 06:54 PM
More speed using multiple cellular Internet connection simultaneously lucavilla@cashette.com Wireless Networking 3 11-26-2006 12:00 AM
More speed using multiple cellular Internet connection simultaneously lucavilla@cashette.com Computer Support 2 11-25-2006 09:05 PM
debugging ASP.NET application multi users simultaneously Farooq Khan ASP .Net 2 10-01-2004 05:59 AM



Advertisments