Standalone Database for Windows Application (WPF)

I have created a simple (commercial) WPF application and want to distribute it with a database that can be installed on the client's local computer.

Which database is best used?

I reviewed SQL Server Epress Edition 2008. I know the limitations of 10 GB, but this is more than enough and not a problem.

The only thing that I did not select for 100% for Express is that I do not know how to allow the client to back up the database.

My colleagues continue to tell me to use MS Access, but I don’t know if this is a good option because I want to use stored procedures and views.

Please let me know what you are using, or you can advise me ...

+4
source share
4 answers

What is the estimated amount of data?

For small databases, SQLite may be a good choice - it is lightweight, fast, open source, and does not need additional software. It even supports encryption if you need it.

Backing up is as easy as it could be, since the SQLite database consists of a single file.


Ruutert: database size up to 500 mb:

This size should not be a problem for SQLite. We use databases up to several GB. The only problem with large databases is that this vacuum (e.g. reorg / compress unused space) takes longer than the larger database (but this is the same for other types of databases)


Ruutert: SQLite flaws?

You may have problems with High Concurrency (lots of concurrent database access). In addition, I would consider a client-server server-oriented client, if your workload is so overloaded that you are thinking of moving your database manager to another server, it is split from the application server.

But since you were considering using SQL Server Express or MS-Access, which also have limited functionality, this should not be a problem. On the other hand, you have the advantage that you only need a small dll (or compile it static into one of your own) instead of installing a full database manager.

+5
source

SQLite is a great alternative. There is an ADO.NET provider developed by System.Data.SQLite

And there is a good, free editor for SQLite: SQLite Administrator

Backing up is as easy as backing up an SQLite db file. Actually.

+6
source

An embedded database (such as SQLite, which other responders have already mentioned) sounds like the right choice for you.

Since you are still using .net, what about Microsoft SQL Server Compact ?
(also embedded database)

+4
source

SQL-CE does not include stored procedures.

SQLite is usually selected. However, there is also VistaDB .

You can always look at NoSQL or OO databases:

Note that for some of them, separate DLLs may be required to identify providers in the .NET code.

+3
source

Source: https://habr.com/ru/post/1345004/


All Articles