Database Access

  • Thread starter Thread starter John
  • Start date Start date
J

John

Hello,

I have an existing .NET 2.0 C# Windows form application that accesses an
Access database for information. The form can be utilized by 2 types of
users. Type A can read & write to the database. Type B can just read from
the database. The database is located on the same machine as the Windows
form application. The application just accesses the database via an
OleDbConnection object, and executes scalar queries against the database.

I just recently received a requirement in which the customer wants the
database to exist on another machine than the client application.

Everything I have read seems to indicate that Access is a poor database
choice for remote clients. Therefore, I have the following questions
somebody may be able to help me out with:

1. If I continue to use Access as my database, and I setup the application
to use it from a remote network location. Is this OK if I only allow 1
read/write user on the database at a time, and many read users? What are
the bad implications of doing this? Is this OK if I just have 1 read/write
user?

2. Would it be easy for me (I know that is relative) to switch to a SQL
database? If so, is there a free version of SQL somebody could recommend?
Would this be better for me for database access across the network? If so,
what are reasons for this.


On a side note, the customer also refuses to modify this application to a
web form.

Thanks,
-- John
 
John said:
Hello,

I have an existing .NET 2.0 C# Windows form application that accesses an
Access database for information. The form can be utilized by 2 types of
users. Type A can read & write to the database. Type B can just read
from the database. The database is located on the same machine as the
Windows form application. The application just accesses the database via
an OleDbConnection object, and executes scalar queries against the
database.

I just recently received a requirement in which the customer wants the
database to exist on another machine than the client application.

Everything I have read seems to indicate that Access is a poor database
choice for remote clients. Therefore, I have the following questions
somebody may be able to help me out with:

1. If I continue to use Access as my database, and I setup the
application to use it from a remote network location. Is this OK if I
only allow 1 read/write user on the database at a time, and many read
users? What are the bad implications of doing this? Is this OK if I just
have 1 read/write user?

2. Would it be easy for me (I know that is relative) to switch to a SQL
database? If so, is there a free version of SQL somebody could recommend?
Would this be better for me for database access across the network? If
so, what are reasons for this.


On a side note, the customer also refuses to modify this application to a
web form.

Thanks,
-- John

I used to support a VB6 application that had 50 users with r/o access to an
Access database, and about a dozen with write access, and had no problems.

You can always try it, since you're already using Access -- just move the
database, and point at it and see if it works. Put it on a network share.

If you're not happy with that, or get locking problems, you can switch to
SQLServer Express. It has limitations on the number of users and stuff like
that, but should still work.

I think SQLServer CE is a single-user version of SQLServer. Bill Vaughn has
an e-Book on it if you want to know more about that.

RobinS.
GoldMail, Inc.
 
You can always try it, since you're already using Access -- just move the
database, and point at it and see if it works. Put it on a network share.

Are you saying if I understand correctly:
1) put the Access file on a PC directory, eg. c:\app\DB\Employee.mdb
Make the directory
c:\app\DB
shared with sharing name eg. "EmpDB"

2) on the client machine set that application points to this shared
directory
eg. \\Alan\EmpDB
 
Alan T said:
Are you saying if I understand correctly:
1) put the Access file on a PC directory, eg. c:\app\DB\Employee.mdb
Make the directory
c:\app\DB
shared with sharing name eg. "EmpDB"

2) on the client machine set that application points to this shared
directory
eg. \\Alan\EmpDB

No, I actually meant put it on a network shared drive on a server, like
those usually around in a corporate environment.

I guess you could put it on one PC and share that drive to the network and
access it that way from the other PCs, but I don't know what the performance
would be like. Additionally, if the user of the "host" PC shut down,
everybody would be s.o.l. Doesn't seem like a great idea unless you're
really desperate.

Robin
 
putting an access db on a share will present other problems with security
access from the framework. I can't see the original question so i don't have
a good context here. If you can repost the question i could take a better
stab.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
 
It wasn't my original question, it was somebody else's! He wanted to know
about running an app with an Access backend and letting multiple users use
it. I recommended putting it on a network share.

RobinS.
GoldMail, Inc.
----------------------
Alvin Bruney said:
putting an access db on a share will present other problems with security
access from the framework. I can't see the original question so i don't
have a good context here. If you can repost the question i could take a
better stab.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
-------------------------------------------------------



RobinS said:
No, I actually meant put it on a network shared drive on a server, like
those usually around in a corporate environment.

I guess you could put it on one PC and share that drive to the network
and access it that way from the other PCs, but I don't know what the
performance would be like. Additionally, if the user of the "host" PC
shut down, everybody would be s.o.l. Doesn't seem like a great idea
unless you're really desperate.

Robin
 
Back
Top