【问题标题】:SQL Network Interface Error 52SQL 网络接口错误 52
【发布时间】:2015-08-17 14:01:28
【问题描述】:

我正在使用 EF6 Code First。我正在编写的应用程序是一个管理登录名的服务器,这些登录名存储在数据库中。
我使用了数据库迁移,但我从未指定连接字符串,因为我希望能够在运行时设置字符串。当我运行 update-database 命令时,我使用了 -script 版本。
现在的问题是在我的开发机器上一切正常。我启动服务器指定我的开发数据库,​​它连接得很好,如果我在远程服务器上指定数据库,它将被发布它连接。但是,一旦我将可执行文件移动到服务器并尝试连接到该服务器的本地数据库,它就会给我以下错误:

Netzwerkbezogener oder instanzspezifischer Fehler beim Herstellen einer Verbindu ng mit SQL Server。 Der Server wurde nicht gefunden, oder auf ihn kann nicht zuge 格里芬韦尔登Überprüfen Sie, ob der Instanzname richtigist und ob SQL Server Remoteverbindungen zulässt。 (提供者:SQL 网络接口,错误:52 - Es k onnte keine Installation der Laufzeit der lokalen Datenbank gefunden werden。于贝 rprüfen Sie, ob SQL Server Express richtig installiert und die Laufzeitfunktion der lokalen Datenbank aktiviert ist.)

英语:在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用)

我已经检查了有效的连接字符串。
我不认为这是由于防火墙/Tcp 配置错误,因为我可以从另一台具有相同可执行文件的机器连接到同一个数据库
这正是让我陷入困境的原因。我怎样才能不在本地连接而是远程连接?
此外,服务器正在运行 SqlServer Enterprise x64 版本
自从我进行迁移以来,就存在此问题。所以如果它以某种方式连接,那就idk。
我浏览了一些论坛,但我发现的只是关于连接字符串和防火墙配置的常见内容。

问题是我不知道如何解决这个问题。

【问题讨论】:

  • 你能从失败的机器上 ping 数据库服务器吗?
  • 你能发布连接字符串吗?您似乎正在尝试连接到生产环境中的 LocalDB。
  • 是的,我可以 ping 服务器。连接字符串是在运行时设置的。当我从本地机器连接到服务器数据库时,我使用与在服务器本身。但是在我的本地机器上它连接,在服务器上它给了我这个错误。我没有在生产环境中连接到 LocalDB
  • 再一次,你能发布你看到的确切字符串吗?省略密码或其他机密信息。
  • 这里确定:数据源=192.168.2.17;初始目录={正确的数据库名称};集成安全性=Fals e;用户ID={正确的用户};密码={正确的密码}我创建并传递给我的上下文完全相同的字符串

标签: c# sql-server database entity-framework-6


【解决方案1】:

我不确定确切的关系如何,但我能够解决这个问题。 我使用了 MigrateDatabaseToLatestVersion 初始化程序,显然这是问题所在 我现在将其更改为 CreateDatabaseIfNotExists 初始化程序,它工作正常。

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2012-05-01
    相关资源
    最近更新 更多