473,791 Members | 2,947 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Database Development - Access or MSDE?

I would like to start a discussion of what everyone is using as an
embedded application database with .NET - specifically VB.NET.

The MSDE package is *far* to huge to be of any real use at over 70 megs,
so I'm left with Access.

Access has had a bad rep in the past but I'm wondering if recent
versions (like, the last 5 years) have addressed the issues that it had
previously. I remember speed and relability with multiple users were its
two shortcomings.

I would also like to know if anyone has any VB.NET code to *create*
Access databases and add DSNs programatically so that I don't have to
rely on the user to set everything up correctly.

Thanks!

--
- Mitchell Vincent
Nov 21 '05 #1
9 1144
Mitchell,

I use MS Access all the time in apps. I find if properly managed(i.e. No
nulls, care taken with concurrency issues etc), Access is a terrific
tool.

The 10 user limitation that is generally recommended with Access is
probably true. However, I had an app that at the time had less than 10
users and ended up with about 25. Never had a day's problem - until the
users accidentally deleted the database. :)

However, I never use it for authentication as it is pretty useless in
that regards.

"Mitchell Vincent" <mi************ **@gmail.com> wrote in message
news:#E******** ******@TK2MSFTN GP14.phx.gbl:
I would like to start a discussion of what everyone is using as an
embedded application database with .NET - specifically VB.NET.

The MSDE package is *far* to huge to be of any real use at over 70 megs,

so I'm left with Access.

Access has had a bad rep in the past but I'm wondering if recent
versions (like, the last 5 years) have addressed the issues that it had
previously. I remember speed and relability with multiple users were its

two shortcomings.

I would also like to know if anyone has any VB.NET code to *create*
Access databases and add DSNs programatically so that I don't have to
rely on the user to set everything up correctly.

Thanks!

--
- Mitchell Vincent


Nov 21 '05 #2
Thanks for the reply!

What kind of care should be taken with regard to concurrency issues?

scorpion53061 wrote:
Mitchell,

I use MS Access all the time in apps. I find if properly managed(i.e. No
nulls, care taken with concurrency issues etc), Access is a terrific
tool.

The 10 user limitation that is generally recommended with Access is
probably true. However, I had an app that at the time had less than 10
users and ended up with about 25. Never had a day's problem - until the
users accidentally deleted the database. :)

However, I never use it for authentication as it is pretty useless in
that regards.


Nov 21 '05 #3
Access is very robust now; I too hated it in the mid 90's, and now use and
like it; have had 5 to 7 users pound away on my apps , all happy ...
Very straightforward code, fast development, none of the silly OO
complexity found in VB .net

"Mitchell Vincent" <mi************ **@gmail.com> wrote in message
news:#E******** ******@TK2MSFTN GP14.phx.gbl...
I would like to start a discussion of what everyone is using as an
embedded application database with .NET - specifically VB.NET.

The MSDE package is *far* to huge to be of any real use at over 70 megs,
so I'm left with Access.

Access has had a bad rep in the past but I'm wondering if recent
versions (like, the last 5 years) have addressed the issues that it had
previously. I remember speed and relability with multiple users were its
two shortcomings.

I would also like to know if anyone has any VB.NET code to *create*
Access databases and add DSNs programatically so that I don't have to
rely on the user to set everything up correctly.

Thanks!

--
- Mitchell Vincent

Nov 21 '05 #4
> The MSDE package is *far* to huge to be of any real use at over 70 megs,
so I'm left with Access.
Is it? I've got an installer for it called MSDE2000A.exe and it's 43,259KB...

Access has had a bad rep in the past but I'm wondering if recent
versions (like, the last 5 years) have addressed the issues that it had
previously. I remember speed and relability with multiple users were its
two shortcomings.
In my experience, it's very good for any database that is more of the
megabyte size range than the gigabyte size range. It does get a bad press
because of this as people tend to believe it is a 'toy' database, when it's
not - it's just that people try to force too much data through it. When used
correctly, it is a very professional tool and can handle extremely complex
things. It's also very nifty because of its single-file based architecture.

I would also like to know if anyone has any VB.NET code to *create*
Access databases and add DSNs programatically so that I don't have to
rely on the user to set everything up correctly.
No but I've got C# to create one... obviously relies on some version of
Access being installed.
public static bool CreateNewAccess DB(string fullpath)
{
Type accesstype;
object appAccess = null;
try
{
accesstype = Type.GetTypeFro mProgID("Access .Application");
appAccess = Activator.Creat eInstance(acces stype);
accesstype.Invo keMember("NewCu rrentDatabase",
BindingFlags.In vokeMethod | BindingFlags.Ig noreReturn,
null,
appAccess,
new object[]{fullpath});
accesstype.Invo keMember("Quit" ,
BindingFlags.In vokeMethod | BindingFlags.Ig noreReturn,
null,
appAccess,
null);
return true;
}
finally
{
if(appAccess != null) Marshal.Release ComObject(appAc cess);
appAccess = null;
}
}
I converted it to VB.NET at
http://www.developerfusion.com/utili...sharptovb.aspx
and it comes out as this: (although I haven't tested it)

Public Shared Function CreateNewAccess DB(ByVal fullpath As String) As Boolean
Dim accesstype As Type
Dim appAccess As Object = Nothing
Try
accesstype = Type.GetTypeFro mProgID("Access .Application")
appAccess = Activator.Creat eInstance(acces stype)
accesstype.Invo keMember("NewCu rrentDatabase", BindingFlags.In vokeMethod
Or BindingFlags.Ig noreReturn, Nothing, appAccess, New Object() {fullpath})
accesstype.Invo keMember("Quit" , BindingFlags.In vokeMethod Or
BindingFlags.Ig noreReturn, Nothing, appAccess, Nothing)
Return True
Finally
If Not (appAccess Is Nothing) Then
Marshal.Release ComObject(appAc cess)
End If
appAccess = Nothing
End Try
End Function

I suppose if you were sneaky you could get around the necessity to have a
version of Access installed, and just store the bytes of a blank Access DB in
a resource of your assembly, and then just spool it off into a file to create
one... not sure about the legality of this though ;-)

A DSN is just a text file in a certain directory, like "c:\program
files\common file\odbc\data sources" or something, have a look at some
existing ones to glean the format, although DSNs are about as fashionable
these days as DDE...

Thanks!

--
- Mitchell Vincent

Nov 21 '05 #5
> However, I never use it for authentication as it is pretty useless in
that regards.


you sure?
....IMHO it's not *pretty* uselss at authentication, it's *absolutely* useless.
Largley centred around the fact that if you don't have the workgroup file
"set", you default to the admin user - hence have full permissions!
Which makes it an opt-out system, when it should be an opt-in one (or the
other way round)...either way it's fundamentally flawed.
Nov 21 '05 #6
Bonj,

This is all what is needed in VBNet to create an access DB.

set a reference to COM adox ext 2.x for dll and security
\\\
Dim catNewDB As New ADOX.Catalog
catNewDB.Create ("Provider=Micr osoft.Jet.OLEDB .4.0;" & "Data
Source=C:\db1.m db")
///

:-)

Cor
Nov 21 '05 #7
Bonj wrote:
The MSDE package is *far* to huge to be of any real use at over 70 megs,
so I'm left with Access.

Is it? I've got an installer for it called MSDE2000A.exe and it's 43,259KB...


Perhaps I downloaded more than I should have... sql2kdesksp3.ex e is what
I got - from a reference in MSDN I believe. It is almost 70 megs in size.

Coming from using PostgreSQL and SQLite even a 40 meg install for an
embedded database is hefty. I don't think I could convince users of my
shareware that a 50 meg install file is OK :-)

Based on the comments here I think I'll give Access a toss. Thanks!
Access has had a bad rep in the past but I'm wondering if recent
versions (like, the last 5 years) have addressed the issues that it had
previously. I remember speed and relability with multiple users were its
two shortcomings.

In my experience, it's very good for any database that is more of the
megabyte size range than the gigabyte size range. It does get a bad press
because of this as people tend to believe it is a 'toy' database, when it's
not - it's just that people try to force too much data through it. When used
correctly, it is a very professional tool and can handle extremely complex
things. It's also very nifty because of its single-file based architecture.


--
- Mitchell Vincent
Nov 21 '05 #8
Mitchel,

Althoug MSDE is fine when it that is done, is it in my opinion a hell to
install and to manage. That install will be a lot better in the next version
(Express) is told.

I thought that Herfried has written in this newsgroup however that the next
versions (Express) are no freeware.

Cor
Nov 21 '05 #9
Isn't that what I said?

Or were you just posting to say you agreed?

"Bonj" <Bo**@discussio ns.microsoft.co m> wrote in message
news:09******** *************** ***********@mic rosoft.com:
However, I never use it for authentication as it is pretty useless in
that regards.


you sure?
...IMHO it's not *pretty* uselss at authentication, it's *absolutely*
useless.
Largley centred around the fact that if you don't have the workgroup file

"set", you default to the admin user - hence have full permissions!
Which makes it an opt-out system, when it should be an opt-in one (or the

other way round)...either way it's fundamentally flawed.


Nov 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
9904
by: Phil | last post by:
Hi all, I need some help to access an SQL db on another machine. I am using VB.NET and remoting to make a client/server connection...although I don't think this is relevant to the question. I have been asked to help with a small db project that will reside on our office server and have approx. 5 users. I have installed a copy of MSDE on my development machine and plan on doing
2
5069
by: Rosy Moss | last post by:
I am in the process of cleaning up a database that our company uses to track jobs, time and expense, and customer information. We are running Windows 2000 Server with approximately 20 terminals (Each running 2000) logging in each day. Four of these terminals access the server via Citrix. Currently the database is about 60MB, but it grows to 150 and larger each week. I am constantly having to compact it to keep it running smoothly. ...
5
1638
by: Inquest750 | last post by:
Can anyone tell me where I can get instructions to design an Access database to work directly with a website? The website will hopefully contain a member base and that is what i would use access for. The databases purpose is to collect all the information that i would require for new members to enter upon registration... The database would also need to be connected to to verify users logging in of correct usernames and passwords....has...
2
1594
by: Hemang Shah | last post by:
Hello I"m a seasonal Access developer. How steep is the learning curve to start developing database applications in c# ? Could you suggest me any good books which teaches the ropes of database development in C# ? Including making reports ?
5
1982
by: XFER | last post by:
Does anyone know how well 10 concurrent users will perform on the above config? Are there any known issues, limits to using MS Access with IIS 5 and ASP.net on a non- ..net server (NT)? thanks.
7
2241
by: News | last post by:
Hello, I have to build a program with the future in mind and I need a bit of guidance from a guru or two. My program will start as a multi-user Windows Application built with VB.Net and using an Access 2002 database backend. The future will require that 1. The database be switched with minimal effort to SQL Server and 2. A Web Application be added to allow web access to reports generated from the database. At this time, there is no...
5
1919
by: Dennis | last post by:
I am totally confused between Access, SQL Express, and SQL Server and MSDE and OLEDB vs SQL in .net. Please someone tell me if I"m correct in the following: With MSDE installed, I can program using OLEDB in ADO.Net for Access then convert later to an SQL Express or SQL Server database and my program still work if I change the connection string. With MSDE installed, I can program ADO.Net for SQL and it will work for SQL express or SQL...
6
1758
by: LurfysMa | last post by:
I am working on an electronic flashcard application. I have one version up and running using Visual Basic (6.0) and Access 2000. My long-range plans are to put it up on a website and sell subscriptions. But that is probably 2-3 releases away. In the meantime, I would like to put it up on the website for testing. I have been reading here and elsewhere that Access is not suitable for a web-based implementation. Is that because is was...
1
1732
by: tc | last post by:
Hi. I have a customer who is running our .net application, multiple clients connecting to an Access database. This ONE customer reports a great speed degredation when more than one client is connected. First client logs on and the system runs correctly. Second client logs on, both connected clients now run very slowly when retrieving data. Third client logs on, the speed on all three clients is no degraded even more. Etc.
0
9666
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9512
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10419
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
10147
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7531
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5424
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5552
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4100
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2910
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.