【问题标题】:No data connection after cloning ASP MVC project to different computer将 ASP MVC 项目克隆到不同的计算机后没有数据连接
【发布时间】:2017-12-19 14:03:55
【问题描述】:

我正在开发一个 ASP.NET MVC5 应用程序并将其推送到 git。其他人将项目克隆到他们的计算机上。

当他们尝试运行应用程序时,它会一直运行,直到出现数据库调用。他们收到错误消息:

System.Data.SqlClient.SqlException: '建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)'

在服务器资源管理器中,我们可以看到连接已关闭。我们也看不到任何表,就像没有数据库一样。

有谁知道我们如何解决这个问题?我认为每台机器上的连接字符串都保持不变?数据库是首先创建代码的,我们是否必须以某种方式重新创建它?如果有,怎么做?

感谢您的建议!

【问题讨论】:

  • 请检查 edmx 或 model 或 web.config 是否已提交?
  • 它已提交并在他们计算机上的项目中。这是我检查连接字符串的地方。我还编辑了问题,使其包含错误消息。

标签: sql-server asp.net-mvc git visual-studio database-connection


【解决方案1】:

错误是相关的。显然,从托管克隆解决方案的计算机上,无法访问 SQL 服务器。

如果在开发过程中使用本地 SQL Server(如 SQL Express 或本地 DB),则必须验证在托管克隆解决方案的计算机上是否具有相同的设置。如果您使用远程服务器,则必须检查该服务器是否可用于托管克隆解决方案的计算机。

在这两种情况下,您都可以使用服务器资源管理器来验证数据库连接和访问。

【讨论】:

  • 非常感谢您的回答。我确实使用过 SQL Express。我们已经尝试在 Visual Studio 中使用服务器资源管理器,发现连接已断开。此外,在尝试测试连接时,它会引发相同的错误。本地“相同的设置”到底是什么意思?
  • 如果您使用 SQL Express,则托管克隆版本的计算机必须安装和配置 SQL Express(最好是相同版本)(例如,包括相同的数据库名称和结构)。 SQL Express 连接字符串可能包括服务器名称、sql 实例和数据库名称。在您的情况下,这些在两个环境中必须相似。 (P.S.> 为了避免需要在两个环境中进行相同的设置,您可以使用 localdb 数据库)。这可能会有所帮助:msdn.microsoft.com/en-us/library/…
【解决方案2】:

连接字符串应该相同。

您应该首先禁用 Windows 防火墙和防病毒程序(以及类似程序)(如果存在),然后再次测试。

您也应该尝试通过另一个数据库客户端进行连接,只是为了检查您是否被阻止。

如果这些尝试不能解决问题,您可以重新创建数据库以进行测试,如果您愿意的话。例如,对于 Entity Framework,在 Google 中搜索“迁移”一词。

【讨论】:

  • 我会尝试迁移,因为它们也已提交。感谢您的建议。
  • 迁移也不起作用并产生相同的错误(网络错误 SQL 26)
  • 您尝试过防火墙和客户端建议吗?例如,尝试通过 SQL 管理进行连接,以查看您是否被阻止。
  • 最后我们删除了一个错误的迁移并让它工作。这纯粹是反复试验。
【解决方案3】:

很遗憾,没有令人满意的答案。

首先,我们重新安装了 Microsoft SQL Server。仅此一项并没有帮助。

我们确实将身份验证从 Windows 身份验证更改为 SQL,因为在该工作站上工作的人仍然拥有前所有者的帐户详细信息。

仅此一项就使测试连接成功。但是,我们在 VS 中执行“Update-Database”命令时遇到了另一个错误,我们通过删除由于某种未知原因而存在的恶意迁移来解决该错误。

现在可以了 - 很抱歉没有提供更简洁的解决方案。

【讨论】:

    猜你喜欢
    • 2018-10-28
    • 1970-01-01
    • 2020-08-29
    • 2020-10-06
    • 1970-01-01
    • 2021-04-09
    • 2019-05-30
    • 2023-02-24
    • 2017-02-05
    相关资源
    最近更新 更多