【问题标题】:SQL Databases on more than one computer [closed]多台计算机上的 SQL 数据库 [关闭]
【发布时间】:2013-11-18 00:14:10
【问题描述】:

我正在编写一个桌面程序,允许您查看客户信息,以及添加、删除、编辑等。它将安装到朋友的计算机上。数据库将本地存储在一台计算机上。只有一位用户能够通过桌面应用程序访问数据库。

如果我要发布它,并尝试在另一台计算机上运行它,它会起作用吗?还是那台计算机上也需要 SQL Server?

【问题讨论】:

  • 取决于数据库...但是是的,可能。
  • 例如,程序(c#)使用数据库来存储客户信息。
  • 我是编程新手。但我正在尝试制作一个允许您查看客户信息以及添加、删除、编辑等的表单。我想了解的内容是,如果我要发布它,并尝试在另一台计算机上运行它,它会工作吗?还是那台计算机上也需要 SQL?
  • 谢谢你,这里有可爱的人。
  • 我编辑了我之前的评论,如果这对你更有意义的话。

标签: c# sql-server database winforms


【解决方案1】:

我假设您说的是桌面应用程序。如果是这样,您可以将您的应用程序提供给其他人并让他们使用它。但是,您需要考虑以下几点:

  1. 您的代码将驻留在哪里?

  2. 数据库将驻留在哪里?是否有 1 个共享副本,或者每个用户都有自己的副本?这对安装的便利性和应用程序的成本有很大影响。

  3. 如果数据库是共享的,您是否有一个服务器来托管所有用户都将登录的数据库?

  4. 数据库是否有最大值?用户数量(限制/米)?

  5. 数据库是否位于防火墙后面?

  6. 需要购买多少份数据库?

【讨论】:

  • 是的,我说的是一个桌面应用程序,它正在我的计算机上构建,要安装到朋友的计算机上。并且数据库将本地存储在一台计算机上。只有一位用户可以通过桌面应用程序访问数据库。
  • 所以你的一台机器必须充当数据库的服务器。另一台计算机需要与该 PC 建立连接。许多数据库(如 SQL Server 和 Oracle)允许通过特殊端口访问数据库,但您必须调整防火墙设置以允许这种情况发生,这是一个安全风险。这种模式并不常见,更常见的模式是让服务器与用户机器分开。云计算提供了一个有吸引力的替代方案。
  • 或者我可以将数据库存储在要使用应用程序的计算机上?
  • 是的。您将拥有一台带有 db 和 code 的机器,而另一台仅带有 code 的机器。
  • 在您将时间和精力投入到成熟的应用程序中之前,请先用一个小程序尝试这个概念。
【解决方案2】:

这取决于。

如果您只使用最基本的数据库连接选项,那么另一台机器需要安装 sql,或者另一台机器需要对您服务器上运行的数据库进行网络访问。

如果您的应用程序旨在用于在网络上运行单个数据库服务器的公司 Intranet,则可能是一种可接受的解决方案。对于其他任何事情,它可能都不是。

如果您的用户需要共享数据,我建议您自己将数据托管在服务器上,并将其作为 Web 服务而不是原始数据库连接向最终用户公开。

如果您的用户不需要共享数据,请查看旨在嵌入应用程序的紧凑型数据库。由于您使用的是 C#,因此我推荐 SQL Server Compact,因为它与 Microsoft 的大型数据库产品讲的 SQL 风格相同。这个领域的另一个主要参与者是 SQLite。在 Microsoft 堆栈之外占主导地位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2017-03-08
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多