Click here to Skip to main content
15,881,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi, I am developing small winform application but I am confused for backend like...
This application is very small as it requires only 10 tables and 5-6 pages to do normal data entry. So my all this it's not a good idea to install whole SQL express server in client pc. They are not ready to install it in. Actually they are currently using one application(windows) which doesn't requires any database server install in their PC then why our software need it and I have no answer for it.

Can you please suggest me which database I can use as backend for my winform application?

What I have tried:

I did some research on it.
1. SQLite database / MySQL - but it also require some installation on client PC.
2. XML as database - I knew it's not good idea to use xml as backend but for small application we can use it.
Posted
Updated 21-Nov-19 21:36pm

It all depends on what the client is doing with the app and the data - and the important thing there is "how many users will be accessing it? Does it need to be shared between them, or are they just reading the data?"

If there is only one user, or none of the users add / update / share information then you do not need a server based system, and you could consider a single user DB like SQLite or Access. The required drivers can be added with your app installer very easily.

If there are more than one user, and data has to be shared / updated between them, then you need a server based system, and need to install SQL Server or MySQL. While you can use a single user DB like Access for multiple users, it rapidly becomes a nightmare, and I've never seen it work without problems and a lot of very careful coding.

XML/JSON is not a database: it's a structured text format - which means that to change anything you have to rewrite the entire file. In a multiuser environment that will cause significant problems and very likely data loss unless your code is written very, very specifically to avoid that - a complicated and time consuming job, and a nightmare to track down bugs and fix them. Avoid!
 
Share this answer
 
Comments
Nilesh Dalvi 22-Nov-19 3:01am    
If I go with SQLite db then how I can protect it from any other user. I don't want to explore my table structure logic or sp logic to anyone. I my application safe and secure so no one can steal my business logic.
OriginalGriff 22-Nov-19 3:18am    
SQLite Encryption Extension:
https://www.sqlite.org/see/doc/release/www/readme.wiki
I would recommend LiteDB, see overview here: best-databases-for-a-small-net-application[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900