Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What Database to distribute as part of a C# app backend [closed]

I am planning on writing and commercialising a C# app which will store data in an underlying database I use MySQL on my environment for my own development and this is what I would have used to write the application for myself (no need to use FK - MyISAM engine would be fine).

I am concerned about how easy it will be to distribute the app together with the database engine. Would using MySQL allow me for easy packaging of the app for a "one-click" install on the client side? (ie I do not want them to have to install MySQL by themselves) and also is it feasible from a licensing point of view?

Are there other Database systems which would make the process more straight-forward

like image 942
jez Avatar asked Jun 01 '10 16:06

jez


4 Answers

Take a look at SQL Server Compact 3.5

like image 200
SQLMenace Avatar answered Nov 17 '22 09:11

SQLMenace


Sqlite is very simple. You just deploy the DLL with your app. I can't tell how appropriate it is for your situation, given the lack of info.

like image 4
D'Arcy Rittich Avatar answered Nov 17 '22 07:11

D'Arcy Rittich


I think SQLite could do the trick, as it is a filesystem-based database, so no installation required.

Access could also do the trick, and most of businesses have it already installed as part of Microsoft Office, though you wouldn't need it to be installed in order to use the Odbc or OleDb assemblies that are part of the GAC.

like image 2
Will Marcouiller Avatar answered Nov 17 '22 09:11

Will Marcouiller


The key here is what kind of database you need. Is this database to be shared among several users of the app? If so, than MySQL would be fine.

But it sounds more like you intend to use this database as a private data store, where each installed instance of the application has it's own data local to that machine or profile. In that case, you want an in-process engine like Sql Server Compact Edition, Sqlite, or even Access rather than a server-class engine like MySql or Sql Server Express Edition.

like image 1
Joel Coehoorn Avatar answered Nov 17 '22 07:11

Joel Coehoorn