0

I have to create a supplementary program that runs offline on a client machine (normally windows 7 or higher laptop). Of course, I don't want to create a pre-requisite for this program. Since this runs offline, so I can not use a database server either.

This application will store about 500-1000 entry per record and a total of max 100 records.

So, I am trying to decide on the DB tech that works offline, and does not require extra installation on the client's side. Currently I am thinking of using XML to save the data. But I am sure, there are better solutions that I am missing.

jitendragarg
  • 161
  • 1
  • 6
  • What kind of data is it? Is it relational? Do you need to read it once or more often from disk? Is it modified on disk? Any security considerations? ....? – data_henrik Aug 17 '15 at 08:26

3 Answers3

1

This also depends on what kind of records you want to be stored, whether it is semi-structured data that is best formed using XML, or plain key-value based records. SQL Server Express can store both kinds, but involves an additional install. However, to avoid extra installs, you can check out SQL Server Compact and SQLite, both of which are installed as a part of the program you will be distributing and will run embedded with it. Also, several NoSQL databases may cure your needs - just give Google a hint and check the answers. Some of them are also compatible with Linq or whatever means you are using to store and extract data from your code.


Dag Baardsen
  • 111
  • 2
  • +1 for SQLite. Imho the right answer for many client-side data storage needs (just look around how many applications use it). – NoUsername Aug 17 '15 at 08:57
  • Thanks. SQLite looks like a good choice, considering it is free to use as well. As for data, it is basically a bunch of floating point numbers. – jitendragarg Aug 17 '15 at 10:05
0

100 records * 500 to 1000 rows = 50.000 to 100.000

Did you try to estimate the size of the xml file based on the data type of your 'entry'?

If you want to go down the SQL Server road, you can use SQL Server Express. It can be embeded in you installation package.

Technet: How to Embed SQL Server Express in an Application

SQL Server Express: Local Data Overview

Julien Vavasseur
  • 10,109
  • 2
  • 27
  • 46
0

Try it, it will prove the best solution for you. HTML5 WebSql

Adventages:

  1. No Installation Required
  2. Store client end data
Arsman Ahmad
  • 101
  • 1