0

I am creating a Windows Form application. Here I need to create only one database table which is very simple. Some rows will be added dynamically to the table at run time. The application will be used locally(offline). In this case which database can be preferable- Microsoft Access Db or Sql Server Db??

Or is there any other better solution without database??

Mukla.C
  • 53
  • 3
  • 9
  • Obviously Sql Server is better choice – Anik Islam Abhi Oct 29 '14 at 07:59
  • Can you please explain why?? @AnikIslamAbhi – Mukla.C Oct 29 '14 at 08:12
  • You can use sql transactions,you can store huge data,tsql etc which you can't use in Microsoft Acess – Anik Islam Abhi Oct 29 '14 at 08:14
  • Well, poster mentioned 'very simple table' and 'some rows' to add. Sounds like he might not even need any DB overhead but just a file (XML or so) would suffice. (p)LINQ would still give easy, SQL like, access to his data... – HansLindgren Oct 29 '14 at 09:46
  • Access supports transactions and rollbacks. The issue likely centers around have to install a WHOLE sql server system to just use a simple little table and that is not only a support issue, but likely overkill. I would consider the compact edition of SQL, as that is a file based database that is compatable with SQL server. – Albert D. Kallal Oct 31 '14 at 20:03

4 Answers4

1

Microsoft Access Db --> will be good if you not need to complex operation and not need function or stored or create types in data base , You not need to install sql server run time .

Sql Server Db --> if you want to get all features with data .

i hope i help you with me answer

MS Access

  • List item
  • List item
  • List item
  • File based
  • free distributable runtime (2007 or later)
  • RAD tools (form/report designer)
  • uses Jet SQL
  • max file size 2GB

SQL Server Express

  • Client/Server model
  • free
  • no RAD tools
  • uses Transact-SQL
  • max database size 4GB (10GB for SSE R2), max one physical CPU

SQL Server Express vs MS Access

Community
  • 1
  • 1
1

There's a nice article here

Over the top of my head, this small suggestion might help.

Take these into consideration -

  1. Is your data going to be really small? If it is going to be very less, < 10 KB. Try considering data serialization into simple XML or Binary files. For large amount of data, SQL Server is the definite choice in my opinion. Or if you think it is going to be neither large or small, try SQLite

  2. Is your application going to scale up the data requirements in the future? If it is so, try to stick to the SQL related solutions.

But still, chances are that you can use SQL Server for most cases.

Nikhil Girraj
  • 1,135
  • 1
  • 15
  • 33
0

I would propose that you go with neither.

Use SQLite -Freeware- :

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.

No complex local install and no overhead. One file per Database.

Nuget Package: LINK

I am using it for such projects like yours in cooperation with DAPPER and loving it.

Take a look at this SQLite + Dapper = Simple Data Access Layer

e4rthdog
  • 5,103
  • 4
  • 40
  • 89
-1

Another great solution is VistaDB

Microsoft has worked hard to make .NET and SQL Server a powerful combination - and VistaDB brings that capability to a small, easy to deploy package. Instead of having to ship a large installation which has to be set up independently for your application to work you can just ship 2 MB of extra assemblies with your .NET application. It's easy to make applications that start with VistaDB and scale up with SQL Server, all from a common codebase.

Please note that as opposed to SQL server express \ sqlite VistaDB is not a freeware

Good luck!

Ofir
  • 5,049
  • 5
  • 36
  • 61