我有一个在 Windows Docker 容器中运行的 ASP.NET Core WebAPI。我在从应用程序内部连接到本地 SQL 实例时遇到问题。
这是错误消息:
(0x80131904):建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)---> System.ComponentModel.Win32Exception (53): 找不到网络路径
我在 github 上发现了这个问题,但它并不真正适用于我的情况。
我可以通过将实例名称替换为服务器本地 IP 地址来使一切正常,如下所示:
"ConnectionString_ThrowingError": "Data Source=MySqlInstance; (...)" "ConnectionString_WorkingFine": "Data Source=192.168.0.123; (...)"
这里发生了什么?.NET 似乎无法解析域计算机主机名。
使用.Net Core 2.2
在 Windows 上使用 Docker Windows 容器
Windows 10
尝试在和上托管Windows Server 2019
。两者都有完全相同的错误。
我可以ping
使用其主机名或本地 IP 从容器内部获取 SQL 实例。
当我用连接字符串中的本地 IP 地址替换实例名称时,一切正常。
如果我在 .NET CLI 中运行应用程序(不使用 Docker),一切正常
我尝试访问的 SQL 实例未托管在 Docker 上。它托管在同一本地网络上的另一台 Windows 服务器上。
我可以DataSource=MyAzureServer.database.windows.net
毫无问题地使用 Azure 上托管的其他 SQL 实例。
慕桂英546537
qq_遁去的一_1
小唯快跑啊
相关分类