#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    167
    Rep Power
    15

    Ms access or a full fledge db?


    Hi

    I'm new to C# and .NET and I'm about to create a net enabled warehouse system in Winforms/WPF (most likely WPF).

    I'm a veteran when it comes to using MySQL, but I was wondering if its sufficient to use MS access for storing data for privately held firms?

    My warehouse system will be delivered as networked application for companies and there would be limited multi users only (perhaps max of 10), but I'm not sure if these is one of those things that you need to consider when picking the correct back end.

    The reason I want to use MS access is, well its easy to view the contents. Install MS office and you have something to view and edit your data.

    Could you tell me if there's any limitation or I need to look out for?

    Thanks
    http://www.csi-empoweringpeople.com/
    Professional low cost offshore website design and development using Drupal.
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2005
    Posts
    296
    Rep Power
    64
    Personally, I wouldn't touch MS Access with a 10ft. pole. I would suggest SQL Server Express and SQL Server Management Studio Express(to view the tables and data).

    Or, since you already have experience, why don't you just use MySQL?
  4. #3
  5. Contributing User
    Devshed Beginner (1000 - 1499 posts)

    Join Date
    Jun 2004
    Location
    Switzerland
    Posts
    1,152
    Rep Power
    1905
    Originally Posted by mickeyren
    The reason I want to use MS access is, well its easy to view the contents. Install MS office and you have something to view and edit your data.

    Could you tell me if there's any limitation or I need to look out for?
    Question: Do you really want your end users tamper with the database directly?

    I personally doubt there is a good reason for that. There are also some unfavorable limitations in Access that you won't have with a better dbms. For example: you cannot page your queries with LIMIT and you have a size limit both by access and by the file system the db is stored on.

    We chose access for some projects and I personally wish we hadn't. If it's important for you to have a file based dbms then my recommendation is to pick something else - SQLite for example. If a db server is fine then I'd say pick what you're familiar with or if you can afford the additional time pick something you want to learn.
    - Hugh of Borg

    The first thing young borg are taught: Keep away from Microsoft software!
  6. #4
  7. Arcane Scribbler
    Devshed Intermediate (1500 - 1999 posts)

    Join Date
    Jun 2005
    Location
    Indianapolis, IN
    Posts
    1,893
    Rep Power
    588
    Some other free recommendations not yet mentioned. Just about everything has some sort of GUI management application, if not several.

    Single-file:
    Firebird
    Server version, mainly. There is also an embedded version, and is my embedded database of choice. Documentation is not stupendous, as there's a few pieces in different places, but that has also inspired a couple help sites for Firebird.

    Lots-of-files:
    PostgreSQL
    Perhaps an enterprise-level database is a bit much for your project, but keep it in mind. Comparable to Oracle.

    I recommend looking into the features, capacities, and limitations of different suggestions.
    Last edited by LyonHaert; January 20th, 2009 at 01:05 PM.
    Joel B Fant
    "An element of conflict in any discussion is a very good thing. Shows everybody's taking part, nobody left out. I like that."

    .NET Must-Haves
    Tools: Reflector
    References: Threading in .NET
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2006
    Posts
    427
    Rep Power
    19
    Originally Posted by mickeyren
    ...if its sufficient to use MS access for storing data for privately held firms?
    Thanks
    No. Viewing, yes. Storing, no.
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2005
    Location
    INDY, USA
    Posts
    174
    Rep Power
    0
    Personally, I wouldn't touch MS Access with a 10ft. pole. I would suggest SQL Server Express and SQL Server Management Studio Express(to view the tables and data).

    Or, since you already have experience, why don't you just use MySQL?
    I Agree
  12. #7
  13. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2007
    Location
    Charlotte
    Posts
    412
    Rep Power
    148
    Originally Posted by eclipsed4utoo
    Personally, I wouldn't touch MS Access with a 10ft. pole. I would suggest SQL Server Express and SQL Server Management Studio Express(to view the tables and data).

    Or, since you already have experience, why don't you just use MySQL?
    +2. We have some backend stuff that was done via MS Access (data AND processing) years back... it sucks. That is not how professional systems are created. Sure, if you're doing some little hobbyist stuff around the house, it might be okay. But not a "real" system.
  14. #8
  15. ASP.Net MVP
    Devshed Specialist (4000 - 4499 posts)

    Join Date
    Aug 2003
    Location
    WI
    Posts
    4,319
    Rep Power
    1514
    There's nothing wrong with Access if you use it in the manner intended. That is, Access is a desktop database intended for single users or very small workgroups with few updates. It belongs to the in-process class of database.

    Any in-process database is going to have trouble in environments where there is the potential for a lot of concurrent updating. This includes databases like SQLite and SQL Server Compact Edition.

    MySQL, SQL Server Express and higher, Oracle, PostgreSQL, and their brethren are server-class databases. They will do much better handling the concurrent updates. However, they need to run as a service. They like to cache data and keep statics to aid performance, and therefore can be resource intensive. It's not a good idea to install a system like this on a computer that must also be someone's desktop, or on a server that's already over-worked.

    With that in mind, you need to think about how your application will work. Is it a single user desktop style application, or a smaller reporting db with few updates or updates from only a single user? Then Access, SQL CE, SQLite, or something from that category may be just fine.

    On the other hand, if you will see frequent user-generated changes to the db from a number of different users then you should consider a server-class engine and finding a good server to host it.

    Now let's look at your specific situation. It sounds like you really need a server-class database for your central office, and that you already have that running with MySQL. For the private firms, the most appropriate choice really depends on the firm. Smaller firms may get by with Access. Larger firms will likely need something else. Regardless, this looks like it will be used for reporting only: no changes will be made at the remote offices. In that case, SQLite or Firebird may work just fine.

    Personally, I would move everything to SQL Server. My reasoning is that SQL Server has the only end-to-end complete stack of options where every product is fully compatible with every other. Any of the other choices you'll have to worry about converting SQL queries and datatypes to support each of the different vendors; there might be an open source alternative to each SQL Server product, but they don't all work together as well.

    With SQL Server, you can write your system to compatible with the lowest common denominator (SQL Compact) and it's guaranteed to work with any product in the stack, including seamless data import/export. (Note that Access is a completely separate product).
    Last edited by f'lar; January 23rd, 2009 at 09:41 AM.
    Primary Forum: .Net Development
    Holy cow, I'm now an ASP.Net MVP!

    [Moving to ASP.Net] | [.Net Dos and Don't for VB6 Programmers]

    http://twitter.com/jcoehoorn

IMN logo majestic logo threadwatch logo seochat tools logo