对于小型网络应用程序,我应该使用哪个数据库?

本文关键字:数据库 我应该 于小型 网络 应用程序 | 更新日期: 2023-09-27 18:10:11

我有一个应用程序(目前在foxpro中),它使用了大约12个可以联网的表。这些表以各种方式相互关联,但并不过于复杂——更像是客户订购系统

我想用MS Visual Studio在c#中重写它。该应用程序仅供桌面使用,但在任何给定时间最多可有5个用户访问。

问题是我应该使用哪个DB ?它必须是:

  • 易于安装与应用程序。
  • 支持多达3或4台计算机共享

我已经看过SQL Express,但共享问题看起来相当复杂,并且需要在服务器计算机上安装SQL。db40似乎更适合富媒体应用。

我对c#相当陌生(现在也很老了),所以我需要这是一种合理的无痛的方式来实现我在Foxpro中已经拥有的东西。

有些人可能会问为什么要改变-好吧,我们希望能够在未来添加一些东西,这些东西会使Foxpro走得太远。

我花了几个星期的时间来研究这个问题,现在我非常感谢大家提供的任何帮助。

对于小型网络应用程序,我应该使用哪个数据库?

我的策略:如果作业可以由SQLite处理(对于。net一个选项是System.Data.SQLite),使用它。从表面上看,这似乎可以。

SQLite is[…]一个独立的、无服务器的、零配置的、事务性的SQL数据库引擎。 SQLite是世界上部署最广泛的SQL数据库引擎。SQLite的源代码属于公有领域。

只是稍微搅拌一下,如果你连接到互联网,你可以给SQL Azure数据库一个尝试。

不需要服务器;多个连接不是问题;可伸缩的;可维护性;等。如果您稍后改变主意,可以将其与本地数据库同步。MS有90天的试用期,这可能适合您的调查目的。

缺点在其他地方有很好的报道,但主要是互联网中断使你的应用程序离线。

如果你想让你的升级和快速运行,这实际上是一个不错的选择。

尝试MySQL,我认为有一种简单的方法可以使数据库沿着网络共享(我认为它在安装过程中)

mysql…使用此驱动程序ODBC驱动程序,以便您的。net应用程序可以连接到mysql mysql ODBC驱动程序

SQL Server Compact Edition支持在同一台机器上运行多个客户端。如果您需要从多台计算机连接到数据库,您可能应该坚持使用Express Edition。

您考虑过使用文档数据库而不是这里讨论的典型关系数据库吗?

在。net空间中非常友好的是RavendDB。

在Visual Studio中学习这个简单的"Hello World"教程(展示一些基本的CRUD编码)来感受它是如何工作的:http://ravendb.net/tutorials/hello-world

LocalDB将是一个很好的解决方案