c# - 如果我的软件使用它,我是否必须在每个客户端上安装它?

标签 c# .net sql-server deployment runtime

如果我们用 c#(或基本上是 .Net)开发一些软件,我们不会将 visual studio 安装到任何客户端。客户端只需安装所需的 .Net 框架(1.0、1.1、2.0、3.0 等),我们就可以开始了。

同理,如果我们在VC2008中制作一个应用程序,他只需要有Visual C++ 2008 runtime(MS网站免费提供,大约4-5Mb)。所以,基本上,我们只需要运行时环境。但是没有任何 SQL Server 2008 运行时(或者我不知道?)。

所以,我的问题是,如果我的软件使用的是 SQL Server 2008,客户端需要什么运行时(或其他任何东西)才能运行?

此外,还有一件事,我看到有一个 SQL Server Express 版本,我可以在部署中使用它,但如果我的软件只有 5、10 或 20Mb,我需要安装大约一个,这似乎有点沉重gig 只是为了让用户可以运行它。

最后,如果我使用的是 SQL Server 2008 Developer Edition(我是,或者企业版不确定)并且我在客户端上安装了 SQL Server express,如果我的软件使用了一些不是的功能,它不会引起一些问题吗速成版支持吗? (比如数据库的数量,或并发连接,或任何东西)。

所以呢?它需要什么运行时间?如果安装 sql server express 是唯一的选择,如果我使用一些 express 版不支持的功能怎么办?当然,我不能继续在每个客户端上完全安装开发人员版本!

编辑:如果这有任何帮助,我当前的项目是一个图书馆管理系统,它将安装在客户端(我正在为其制作的图书管理员的计算机),所以这里没有服务器-客户端的情况。那我是不是应该在他的电脑上安装sql express呢?此外,正如 YvesR 在他的回答中指出的那样,该链接仅显示三个版本(主要版本),但 http://msdn.microsoft.com/en-us/library/cc645993%28v=SQL.110%29.aspx显示更详细的比较。那么,在我刚刚描述的这个特定场景中,如果我只是在客户端的机器上部署和表达版本就足够了吗?

现在,关于我所说的一些功能在速成版中不可用, http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx#CrossBoxScale 显示 Express Edition 仅限于 10Gb 大小的数据库,现在我知道这在我上面描述的场景中绰绰有余,但如果在其他情况下我需要更多怎么办?速成版不行,我应该怎么部署?

最后,http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx显示了另外两个版本,Compact 和 Developer,我知道 developer 但这个压缩版是什么?更重要的是,为什么没有对这些进行比较或列出 here

编辑 2: 它是 4Gb,极限,而不是 10Gb。 SQL Server 2008 R2 Express 及更高版本为 10Gb,SQL Server 2008 Express 为 4Gb。
marc_s:谢谢!

最佳答案

如果您使用 SQL Server 数据库将您的数据保存在您需要的应​​用程序中

一个。客户端-服务器基础结构,您的客户端通过 LAN 连接到中央 SQL Server

或者使用客户端安装的 sql server 版本(我猜这就是你想要的)。为此,您可以使用 SQL Server Express 版本或仅使用 MSDE(桌面版)。

查看更多详细信息,例如这篇博文 http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDE或谷歌搜索,MS 本身提供了大量有关 MSDE 的信息。

编辑:自 2012 年以来,不再有 MSDE,但 SQL Server 2012 Express 带来了类似于 MSDE 的模式。看这里:http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

正如您在这里看到的:http://www.microsoft.com/sqlserver/en/us/editions.aspx ,恕我直言,不应该有您使用的桌面应用程序不可用的功能。

关于c# - 如果我的软件使用它,我是否必须在每个客户端上安装它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11481663/

相关文章:

c# - 为什么在继承中调用固定数据类型参数的对象类参数方法linseed

c# - 在 Visual Studio Code 中使用命令行提示运行 C# 程序

sql-server - 获取 proc 选择输出的模式

mysql - dll MATLAB,dll DBMS,blob?

c# - 将字段标记为具有属性 [XmlElement] 的 IsRequired

c# - ProcessInfo 和 RedirectStandardOutput

.net - 找出计算机何时不使用

c# - 何时以及为何使用委托(delegate)?

SQL Server - 使用 View 而不是触发器时获取插入的记录标识值

c# - 如何在来自单独应用程序的 c# 方法调用中注入(inject)代码