Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 我应该使用哪个数据库系统?_Database_Vb.net - Fatal编程技术网

Database 我应该使用哪个数据库系统?

Database 我应该使用哪个数据库系统?,database,vb.net,Database,Vb.net,我一直在做大量的研究,试图找出哪个数据库系统最适合我的需要,但我需要一些指导。我正在写一个VB.Net程序,用于跟踪库存,供小企业使用。我将使用客户机-服务器类型的模型,网络上有一台计算机作为服务器,其余的客户机。客户端计算机的平均数量可能是2-5台左右。最多是10-15岁。现在我使用的是存储在网络硬盘上的Access DB,但这种方式速度较慢,也不太稳定。Access是我学习如何编程的第一个DB,这就是我现在使用它的原因,但我知道我需要继续改变它 要求: 我希望安装过程简单易行,因为这些企业

我一直在做大量的研究,试图找出哪个数据库系统最适合我的需要,但我需要一些指导。我正在写一个VB.Net程序,用于跟踪库存,供小企业使用。我将使用客户机-服务器类型的模型,网络上有一台计算机作为服务器,其余的客户机。客户端计算机的平均数量可能是2-5台左右。最多是10-15岁。现在我使用的是存储在网络硬盘上的Access DB,但这种方式速度较慢,也不太稳定。Access是我学习如何编程的第一个DB,这就是我现在使用它的原因,但我知道我需要继续改变它

要求:

  • 我希望安装过程简单易行,因为这些企业将没有IT部门。数据库服务器需要与程序安装一起安装

  • 项目和客户将不断增加,所以数据库大小限制让我有点担心,因为我不希望以后数据库大小达到最大值时出现问题

以下是我收集的关于以下DB类型的信息:

访问:我现在使用的内容。基于文件的数据库。不适用于使用1 DB的多个用户

MySQL:开源,但似乎随程序分发需要许可,所以这是不可能的。我希望这是一个选择,但我需要免费的

SQL Server EXPRESS 2005/2008:没有许可证,而且2008 R2有10gb的限制。我现在倾向于这个。与VB.Net和Visual Studio的集成似乎是最简单的。Visual Studio(适用于SQL Server 2005)中提供了先决条件,因此将在程序安装期间安装SQL Server

SQL Server CE:基于文件的数据库。可能不是客户端/服务器设置的最佳选择?可能不会比我现在使用Access的方式更好。如果我错了,请纠正我

Firebird:我看到其他程序在客户端/服务器类型的设置中使用它,但它看起来像一个基于文件的数据库?看起来对vb.net+firebird的支持也很少,这让我很害怕。不过没有限制,那太棒了


我已经做了大量的研究,但我仍然不知道哪种方法最适合我的情况。

我认为你采取的方法是不正确的。您要求客户在没有IT部门的情况下安装RDBMS系统和软件。谁来维护这个


如果是我,我会推荐一个托管模型web应用程序,可能使用WindowsAzure,在这里,所有客户端都有一个集中的数据库(创建一个多租户数据库),而Microsoft会处理所有基础架构方面的麻烦。或者使用支持SQLServer 2012的第三部分托管解决方案(为什么要考虑2005或2008?)。依我看,两者都比你的提议好。我相信,在这种类型的设置中,维护和服务您的所有客户机将非常容易。

也就是说,如果您使用的是客户机服务器.NET应用程序,请使用SQL server。2012年,而不是2005年,你为什么还要使用一个将近十年的版本?如果你的客户没有IT部门,那么一开始托管他们自己的服务器软件似乎是一种错误的做法。我会考虑让你的应用程序成为托管服务。我也困惑了为什么数据库服务器必须是免费的。你没有为此得到报酬吗?只需将所需组件的许可证价格计入您的账单中即可。也就是说,Postgres也是一个选项,但安装起来并不容易。SQL Server CE是一个选项,如果“客户端-服务器”表示您也在为应用程序编写服务器组件,即您的客户端不直接打开与数据库的连接。如果只有一个服务器进程访问它,那么它是基于文件的这一事实并不重要。此外,10GB的“商业”数据也非常丰富。谢谢您的提示。对于任何关心的人来说,这只是一个更新——我选择了SQL Server Express 2008 R2。我注意到市场上的另一个库存计划使用了这个,所以我想试试。事实证明,安装是一场噩梦。我创建了一个安装程序脚本来安装SQL Server,而无需用户的任何输入(这需要很简单)。这太复杂了,也太挑剔了,因为我试着安装的5台操作系统不同的电脑只有2台可以正常工作。随机错误与其他3。所以我决定看看PostgreSQL,到目前为止我非常高兴。看起来简单多了。我不想照看每个安装,所以我被SQL Server express关闭了。到目前为止,博士后似乎只是工作。在无人值守模式下通过命令行安装(如果尚未安装)>通过编辑配置文件启用远程连接>未检测到时创建数据库>添加端口5432防火墙例外>和wa la,postgre服务器已安装并准备就绪。刚刚偶然发现我7年前的老问题。我想加上这个作为答案,但它不会让我,因为这是关闭。我参加了博士后考试,而且效果很好。正是我想要的。安装过程完全自动化,因此用户安装my app和postgres时不会出现问题。它是免费的,这是好的,因为如果质量好的话,你可以免费得到,为什么还要付钱呢。因此,对于我所寻找的客户机/服务器模式,Postgres是一个很好的解决方案。