我有一个应用程序(目前在foxpro中),它使用大约12个可以联网的表。 这些表格以各种方式相关,但并不过分复杂 - 更像是客户订购系统
我想使用MS Visual Studio在C#中重写它。 该应用程序仅适用于桌面,但在任何给定时间最多可以有5个用户访问它。
问题是我应该使用哪个DB? 它必须是:
我查看了SQL Express,但共享问题看起来相当复杂,需要在服务器计算机上安装SQL。 DB4O似乎适用于更多富媒体应用程序。
我对C#相当陌生(现在也开始长篇大论)所以我需要这个才能实现我在Foxpro中已经拥有的相当轻松的方式。
有些人可能会问为什么要改变 - 好吧,有些东西我们希望将来可以添加,这会使Foxpro过于紧张。
我花了几周时间研究这个问题,现在非常感谢人们提供的任何帮助。
答案 0 :(得分:4)
我的政策:如果作业可以由SQLite处理(对于.NET,一个选项是System.Data.SQLite),请使用它。从表面上看,听起来就像这样。
SQLite是一个独立的,无服务器,零配置的事务性SQL数据库引擎。 SQLite是世界上部署最广泛的SQL数据库引擎。 SQLite的源代码位于公共领域。
答案 1 :(得分:1)
只是为了搅拌锅,如果你连接到互联网,你可以给SQL Azure Database一个旋转。
无需服务器;多个连接不是问题;可扩展性;维护;如果你改变主意,稍后将它与本地数据库同步。 MS有90天的试运行,可能适合您的调查目的。
其他地方有很好的覆盖范围,但主要是互联网中断会导致您的应用离线。</ p>
如果您希望升级并快速运行,这实际上并不是一个糟糕的选择。
答案 2 :(得分:0)
尝试MySQL,我认为有一种简单的方法可以使数据库在网络上共享(我认为这是在安装过程中)
答案 3 :(得分:0)
mysql ...使用此驱动程序ODBC驱动程序,以便您的.NET应用程序可以连接到mysql mysql odbc driver
答案 4 :(得分:0)
SQL Server Compact Edition支持同一台计算机上的多个客户 。如果您需要从多台计算机连接到数据库,您应该坚持使用Express Edition。
答案 5 :(得分:0)
您是否考虑过使用文档数据库而不是此处讨论的典型Releationl数据库?
.Net领域非常友好的是RavendDB。
在Visual Studio中完成这个简单的“Hello World”教程(显示一些基本的CRUD编码),以了解它是如何工作的:http://ravendb.net/tutorials/hello-world
答案 6 :(得分:0)
LocalDB将是一个很好的解决方案