14

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

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

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

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

最后,如果我使用的是 SQL Server 2008 Developer Edition(我是,或者企业版不确定)并且我在客户端上安装了 SQL Server express,如果我的软件使用了 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 表明快速版是有限的到大小为 10Gb 的数据库,现在我知道在我上面描述的场景中已经足够了,但是如果在其他情况下我需要更多呢?比快递版不行,比我应该怎么部署?

最后,http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx显示了另外两个版本,Compact 和 Developer,我了解 developer,但这个紧凑版是什么? 更重要的是,为什么这里没有列出或列出这些?

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

4

4 回答 4

8

如果您使用 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,不应该有您使用的功能不适用于桌面应用程序恕我直言。

于 2012-07-14T06:51:47.777 回答
3

好的,让我们备份一下。您是否要求每个软件客户端都拥有自己的本地数据库?如果是这种情况,则有更简单的方法可以在客户端上存储数据(我建议将序列化为文件作为一种方法)。

如果您的要求是让每个客户端都连接到中央数据库,那么除了 .net 核心库之外,您不需要任何运行时组件。

于 2012-07-14T06:51:34.627 回答
2

除了安装的 .NET 框架(所有 .NET 可执行文件都需要它)之外,数据库访问不需要客户端运行时。

如果您希望数据库与客户端免费选项驻留在同一台机器上,例如 SQL Server Express 或 SQLite。

于 2012-07-14T06:50:53.107 回答
1

以下是 Windows 应用程序的两种方法:

  1. 每个客户端将单独使用的桌面应用程序,无需将计算机分配为服务器。您只需要SSMS为您的客户安装和应用程序。更新/删除/插入操作将单独完成。

  2. Client-Server Approach, install SSMS and attach your DB on a computer. This computer will serve your clients as a server. Then install the exe file on any client computer, make sure the clients are connected to the server using the IP.

于 2012-07-14T08:59:41.257 回答