我们有一个ASP.NET Core 2.2应用程序,其与后端数据库托管在不同的服务器上完美地配合工作。所有CRUD操作都无缺陷。我们将应用程序Docker化,但出现了以下错误信息:
“在建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,并配置SQL Server以允许远程连接。(提供程序:SQL Network Interfaces,错误:26 - 找不到服务器/指定的实例)”
docker-compose文件如下所示:
这个配置可能有问题,导致应用程序无法与 SQL Server 实例通信。
更新1: SQL Server 没有使用 docker 化。
更新2: 应用程序从 appsettings.json 文件中读取 SQL 连接字符串。这是重命名服务器名称和凭据后的连接字符串:
“在建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,并配置SQL Server以允许远程连接。(提供程序:SQL Network Interfaces,错误:26 - 找不到服务器/指定的实例)”
docker-compose文件如下所示:
version: '3.4'
services:
services.webapi:
image: ${DOCKER_REGISTRY-}serviceswebapi
build:
context: .
dockerfile: Services.WebApi\Dockerfile
network: host
这个配置可能有问题,导致应用程序无法与 SQL Server 实例通信。
更新1: SQL Server 没有使用 docker 化。
更新2: 应用程序从 appsettings.json 文件中读取 SQL 连接字符串。这是重命名服务器名称和凭据后的连接字符串:
Server=WIN-MSSQL1\\MSSQLSERVER2017;Initial Catalog=ServiceDB;User ID=cruduser;Password=foo;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False