每个客户端上的 C# Sql-server

Posted

技术标签:

【中文标题】每个客户端上的 C# Sql-server【英文标题】:C# Sql-server on every client 【发布时间】:2015-06-16 14:49:19 【问题描述】:

我想在每台使用该应用程序的机器上构建一个需要 sql 数据库的应用程序。

Chrome 和 Firefox 不是将 cookie 存储在 SQL 数据库中吗?我不记得在安装 Chrome 时安装了 SQL Server 之类的东西,所以我的问题是:如果我的应用使用 SQL Server,每个用户都必须安装 SQL Server 吗?

【问题讨论】:

Sql 数据库!= SQL Server!有许多 SQL 数据库 - Microsoft SQL Server 只是其中之一。 Lightweight SQL database which doesn't require installation 的可能重复项 不过,请参阅 blogs.msdn.com/b/sqlexpress/archive/2011/07/12/… 和 msdn.microsoft.com/en-us/library/hh510202.aspx。 【参考方案1】:

最适合您的目的是使用数据库服务器,它将随您的应用程序启动,例如 SQLite 或 Sql Server Compact。这意味着,您的应用程序自己托管数据库,并且您可以通过 ADO.Net 访问。这是一种非常智能的本地数据存储方式,非常简单。

不要尝试在每个客户端上安装复杂的数据库系统,如 mssql、sybase 或 mysql

例如,SQLite 可以与您的产品中的一些程序集一起交付。

这个答案给出了一个很好的概述:Lightweight SQL database which doesn't require installation

【讨论】:

作为一个小补充 - Google Chrome 和 Firefox 都使用 SQLite。【参考方案2】:

为了存储客户端应用程序的信息,您可以使用SQL Server Compact 或其他一些解决方案,例如SQLite(使用a library 来访问它)。

还有其他替代方案,但这两个是最常见且最稳定的。

【讨论】:

【参考方案3】:

Firefox 确实将 cookie 存储在 sqlite 数据库中。但是,这与 SQL Server 不同。

如果您的应用程序需要与数据库通信,您可以 a) 将 sqlite 数据库与其捆绑,b) 在启动时需要现有数据库(Wordpress 会这样做;您可以将详细信息传递给 mysql 数据库以获取它使用现有安装),或 c) 将完整的数据库(如 SQL Server Compact)与您的应用程序捆绑在一起。

【讨论】:

以上是关于每个客户端上的 C# Sql-server的主要内容,如果未能解决你的问题,请参考以下文章

C# TreeView 限制每个节点上的动态子节点

客户端应用程序在 C# 中查找本地网络上的服务器的最佳方法是啥?

同一台机器上的IPC...WCF

通过 NFS 上的 C# 读取 UNIX 文件属性

内存如何帮助 C# 上的巨大循环

如何在 ASCX 页面上的 ASP 网站上从 C# 代码执行 url 调用?