0

I have developed a (vb.net) data prep application that lets a user load data onto a grid and then apply rules and transformations to selected columns. Each performed action will automatically be saved to a database (.mdf associated to the project, also used to populate some controls and hold some reference data). The next time the user have identical input data, all of the steps can be repeated at the click of a button.

So far, the application have been used on standalone computers. My employers IT-department is now to include it in their catalog of centrally distributed applications, and the one thing they have asked me to do first is to lose the database. I´m thinking I could use a locally stored xml file instead, but I have no experience with storing and retrieving data using xml. So, looking for some advice:

  • Is there a better way to go than xml? (I have been considering a local MS Access since all users have access to it, however I will not be able to create it or control the location programmatically). There are no joins or anything like that, just rows and columns and it´s not very big, a few MB at most.

  • As I understand it, to query an xlm-file I will have to read all of it into a data table and then query the table. Is this correct? Are there other ways to do it?

  • To change the xml file (the equivalent of inserting, deleting or updating rows in db), will I have to replace it with a new version of the file at every change? Or is there some sql-like solution?

Sorry if these questions are basic. Would be very happy just to be pushed in the right direction.

Doorman
  • 29
  • 3
  • 1
    Possibly an SQLite database. it's a single file-based free database. It doesn't need a SQL Server to run, you simply make requests to the file. There are many libraries that can talk to SQLite Databases. I have one that ive been modifying and updating for a while. – Bigbob556677 Mar 16 '18 at 13:54
  • Thanks for suggestion Philip. Will try the idea with the IT-department, not sure if they like it better though. – Doorman Mar 16 '18 at 15:16
  • okay, and as you mentioned, using an XML would require you to fully rewrite the file each time you make an update to it. as well as having to read the ENTIRE file every time you want to find something in it. SQLite/SQL, IMO, is much easier to program with than trying to use an XML library. note this link https://stackoverflow.com/a/78040/8521346 – Bigbob556677 Mar 16 '18 at 15:20
  • XML is a fine solution (one of many). I've written an support applications like this for years. Local XML works well up to 10-20 Mb range, split into a couple files if you need more storage. Be sure to check-out how to query with XPath (selectNode), and learn how to do some basic XSL, and you'll off and running in no time. – William Walseth Mar 16 '18 at 15:51
  • Philip, I´d prefer a database type solution, just not sure if it´s possible. Didnt know about XPath, thanks William, I will look into it. – Doorman Mar 19 '18 at 08:16

0 Answers0