我有一个在 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
小唯快跑啊
随时随地看视频慕课网APP
相关分类