XML vs. SQlite vs. Access

Question: We started a project for a client, which includes what is usually done with the database.

However, the client does not want the database to be installed, since it is only a small application. However, we intend to reuse the code for a larger project that will use the database.

The problem is that all the server side code will be different if I use XML or SQlite or Access.

I am aiming for SQlite, but I do not know. Would adding a database to an MS-Access file be the best solution? If I put it in an access database, do I need an MS-Access client or only MSFT MDAC? If I use Access DB, will it work under Linux with Mono, or is there no MDAC replacement?

+6
xml sqlite ms-access
source share
5 answers

I would consider using NHibernate , you can connect it to SQLite, but later you can upgrade it to a full database without requiring a lot of code to be changed. If you are not interested in this, I would use SQLite directly above the XML files.

+9
source share

You do not need to install Access to use the Jet engine. As far as I remember, Jet is installed with all the latest versions of Windows. You can use Jet (Access) with Linux . Jet requires very few database management tools compared to alternatives, including SQLite.

+4
source share

I would use SQLite through Access - for SQLite you just need to send the DLL, for Access you need an installer (although I think it is built into the latest versions of Windows). SQLite is also the best database.

Or could you, of course, abstract the stoarage data mechanism using a repository template or similar? If you want to store data in a file, download it and post it from your repository using Linq-To-Objects, and then you can simply replace it using Linq-to-SQL without changing the client code.

+3
source share

You may have problems using sqlite in medium trust environments (for example, in shared hosting mode). If you are open to other solutions, you can try VistaDB . It is supported by all major orm (nhibernate, openaccess, entities, subsonic and many others ..).

+2
source share

All latest versions of windows, up to windows 7, come with a copy of JET (MS-access data mechanism). Thus, you do not need mdac and do not install ms-access at all.

You can even write script windows to an explicit window without any software installed, and thus you can read data from the mdb (ms-access) file.

So, the problem is not fixed here, since "JET" (the database engine that uses ms-access) is supplied anyway.

I think the only exception or consideration here is that you plan to work with 64-bit versions of os and use 64-bit applications in the process?

There is a 64-bit version of ms-access for Office 2010, and as far as I know, there will also be a separate download for installing JET (now called ACE) on 64 blocks.

I plan to work only on 32-bit machines (or use the 32-bit versions of your software on a 64-bit box), then you do not need ms-access, and you do not need to install anything to read and use mdb (ms - access).

Since JET comes with all the latest versions of windows, your solutions will not be based on installing JET (you do not have to), your solutions will be other problems if JET meets your requirements.

+1
source share

All Articles