【问题标题】:How can I run C# app which contains local SQL Server database on another computer?如何在另一台计算机上运行包含本地 SQL Server 数据库的 C# 应用程序?
【发布时间】:2016-05-06 21:26:25
【问题描述】:

我创建了一个带有 SQL Server 数据库的 C# 程序。它在我的电脑上运行良好,但在我朋友的电脑上却不行(我的朋友没有 SQL Sever 2008)。是否可以在不安装的情况下制作它?如果可以,怎么做?

这是我的连接字符串:

connectionString="Data Source=\v11.0;AttachDbFilename=|DataDirectory|\MainDatabase.mdf;Integrated Security=True"

【问题讨论】:

  • 您希望您的朋友能够访问您的数据库还是该数据库是唯一的?如果是后者,请注意任何需要 SQL 的本地主机都需要 SQL Server。请改用 SQLite(用于用户输入信息)或 Resource Files(用于内部项目)等替代方法。如果是前者,您必须自己托管服务器。

标签: c# sql-server database local


【解决方案1】:

如果您的连接字符串如下所示

connectionString="Data Source=\v11.0;AttachDbFilename=|DataDirectory|\MainDatabase.mdf;Integrated Security=True"

那么你应该在你朋友的电脑上安装sql localdb 2012.msi。 并确保 .mdf 文件与您计算机上的位置相同。

【讨论】:

  • 谢谢亲爱的 Raidri。
【解决方案2】:

使用存在数据库的本地计算机的 IP 地址; 1433 是默认端口号。然后相应地修改连接字符串:

connectionString="Data Source=190.190.200.100,1433;
Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"

【讨论】:

  • 将数据源更改为主机PC的IP地址,它应该可以工作
【解决方案3】:

SQL Server 用于服务器数据库。您可以将项目更改为使用单文件本地数据库 SQL Server CE(SQL Server Compact Edition)。它与“真正的”SQL Server 非常相似,因此它可能是最简单的解决方案。除了连接字符串之外,您的代码可能不会改变。

【讨论】:

  • Petar Bechev,您可以从“工具”菜单安装 Visual Studio (SQL Server Compact Toolbox) 的扩展。在那里创建一个数据库,将其添加到您的项目中。然后在那里重新创建表并更改应用程序的连接字符串以使用这个新数据库。
  • SQL CE 是否已弃用/停止?
  • @black 是的,但它仍在发挥作用。对于一个新项目,我认为最好使用 SQLite 作为本地数据库。
【解决方案4】:

如果您需要在朋友的计算机上安装 SQL 数据库而不是从您自己的计算机上托管,我的解决方案将迎合您的需要。

使用适当的数据库在任何设备上本地处理数据库的最便宜的方法是转换为 SQLite。这是一种更轻量级的本地设备替代方案,根本不需要任何用户安装 SQL 服务器。

还有其他替代方法,例如将信息写入隐藏文件(如果您不希望自己的应用程序被黑客入侵,通常是二进制文件)。

简而言之,仅当您托管数据库时才考虑使用 SQL 数据库,否则请使用替代方案。

【讨论】:

    【解决方案5】:

    第一次在防火墙中打开 1433 端口时,如果不需要,可以关闭防火墙。 转到 Run=>cmd=>Ipconfig 查找网络的卡活动。显示喜欢

    就像我的电脑只有无线,我在私人局域网中的地址是:192.168.100.165 现在您更改 web.config 中的连接字符串。

    connectionString="Data Source=192.168.100.165;
    Initial Catalog=yourDataBase;User ID=yourUsername;Password=yourPassword;"
    

    如果您不知道“您的用户名”和“您的密码”,请参考链接 并在 MsSQL 中创建用户名和密码 https://msdn.microsoft.com/en-us/library/aa337562.aspx

    如果你想从互联网连接数据库,你需要打开你的路由器端口

    【讨论】:

      【解决方案6】:

      如果你想在没有安装 SQL 服务器的情况下运行你的程序,你必须使用基于服务的 sql 数据库。see this image

      可以通过Visual Studio添加本地数据库(project--> Add new item)

      【讨论】:

      • 不需要安装基于服务的数据库吗?
      • 当您为发布版本构建项目时,Visual Studio 会在其中包含数据库。
      【解决方案7】:

      据我所知,您有两种选择之一。您要么拥有一台服务器(一台设置为服务器并包含此数据库的电脑),要么您可以采用更简单的选择并将您的数据库托管在云上。许多网站提供免费服务以在有限的时间内或有限的存储空间内托管您的数据库。如果你有 Azure 订阅,那肯定是要走的路。

      【讨论】:

      • 实际上我不想这样做,因为我想有一天卖掉这个程序,这样每个用户都将在他的计算机上拥有自己的数据库。你能告诉我一些关于本地数据库的事情吗?
      • 如果您是学生,您可以免费订阅 Azure。或者,如果您有 Dreamspark。
      • 为什么需要每个用户在他的计算机上都有一个数据库?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      相关资源
      最近更新 更多