Which DBMS to use so that it can be installed on the client’s computer to run a C#application?

Asked

Viewed 1,193 times

7

I am developing a small C# system that will be implemented on client computers in the future, accessing a local database.

Initially I was going to use SQL Server, but I would have to install it next to the system, and this is being a little heavy for just a simple system.

I wanted an indication of DBMS that is good and simple and lightweight, to use as a bench in this application C#. I need only one computer to be with the database and the other Pcs with the system to find and use this database over the network.

  • But this computer will have to serve as a server, right? For the BD to be accessed by other PC’s

  • Yes. I need a server with BD and other pcs to access it. I need a lightweight DBMS

  • 1

    I would bet on SQL Express, light and fully compatible with C#

  • 2

    I suggest the SQL Server itself, it is simple to install, and the easiest to use with Entity framework. It is not necessary to install on client machines, only on the server. Anyway, there is not a single correct answer to this question.... very broad.

  • @Alisson I thought about it but found that it is not wide, gives in an answer to put all options, easily. I will still improve my.

  • @Patrickcardoso Have any of the answers solved your question? Do you think you can accept one of them? Check out the [tour] how to do this, if you haven’t already done so. You would help the community by identifying what was the best solution for you. You can accept only one of them. But you can vote on any question or answer you find useful on the entire site.

Show 1 more comment

4 answers

7

Under the scenario described, the solution would be Sqlite, it does not need to install, will embedded in the application itself.

Some people use the Localdb, but it is usually less suitable than Sqlite for remote access. The same can be said of SQL Server Compact is practically obsolete.

The problem is that you cannot have other external applications accessing the same Sqlite database. You would have to write an application server to control access. I like the idea, but not everyone knows how to do it. There is no free lunch. My preference is to write a server for it.

There are some other options that fall into the same problem. Could do

If you want a ready server, you have nothing to do, you have to install it. What you can do is automate the installation. The SQL Server Express is a free and interesting option, but it has limitations of use. Some find it easy to install the Firebird. But be careful not to install the embedded one which is extremely limited and cannot be used for simultaneous access. Even the full version usually has scale problems. After this only by customizing a way to install Mysql or Postgresql that can be mounted the way you want.

Actually, if you want a server, I don’t see the downside of having to install it. It is much more important to have option without installing on desktop or mobile client, then Sqlite is fired the best option. Even with server in general my option is for Sqlite whenever it can.

These options allow use with the Entity Framework. There may be options that are not supported.

There is a certain dichotomy between not installing and having external access. Other than crazy solutions or totally built by you, only the Sqlite adapted to work as a server will solve. In practice even this case will have to install your server.

Otherwise making use of cloud is the only way to not have to install the database. Of course this has its drawbacks as well.

If you want a database like SQL Server complete, installing is the least of the problems. You even have to buy it.

  • 1

    If you have any mistakes please inform me to improve. I find it strange the answer that gives more options, including the same as other positive answers have a negative.

  • I’ve read about Sqlite, seems to be an interesting option when you want to have a database embedded with the application, if I’m not mistaken the applications for android use it to store data on the device, and some API to store on a server. Do you have any library/Provider for Sqlite to work with the Entity Framework?

  • Yes, it has a lot of support. It has become the almost official embedded DB of Microsoft.

5

Hello, since I had the need to create simple application in which the user did not need to use a bank and solved with the SQL Lite. It is a simple database that does not need to be installed by the end user.

If you don’t need this, I suggest you read about the SQL Express, which is a more compact version of SQL Server, perfect for smaller applications.

  • And how to use Sqlite on other computers as the question asks? What if the Sql Server Express limit does not meet the application?

4

I wanted an indication of DBMS that is good and simple and lightweight, to use as a bench in this application C#. I need only one computer with the database and the other computers with the system to find and use this database over the network.

In this case you install the database access software together with the application and on the computer you choose to work (also) as database server, you can install SQL Server Express. ODBC is an option for connecting the application to the database.

Only one of the computers will need to install DBMS.

The Express edition of SQL Server has some limitations, mainly of maximum size of each database (up to 10 GB) and maximum memory per instance (1 GB, in practice 1,410 MB).

In the free software line you find, among several, the Mariadb.

Reading suggestion:

  • In case, when you refer to "database access software", would this ODBC? You would have to have this installed on the stations so that they can communicate with the server, that?

  • @Patrickcardoso: I refer to "DBMS client software", that is, the one that allows you to establish the connection of the application to the remote database. ODBC is one of the options if the application uses ODBC connection. This varies depending on the DBMS, but ODBC is almost universal. And yes, the "DBMS client software" should be installed on each workstation, along with the application. It is usually a driver or provider.

-5

Hello,

As I said it was a lightweight and needs a server that you have all these functions I advise: the XAMPP is a server that contains Apache, Mariadb (database), Phpmyadmin (may be your DBMS although I use Mariadb in terminal), PHP, and Perl and is available for most OS’s.

https://www.apachefriends.org/index.html

I hope I’ve helped

Browser other questions tagged

You are not signed in. Login or sign up in order to post.