【问题标题】:.Net Core App in Openshift linux Pod connecting to SQL ServerOpenshift linux Pod中的.Net Core App连接到SQL Server
【发布时间】:2021-11-07 01:36:00
【问题描述】:

我在 OpenShift 中部署了一个 .net Core Rest Service,它连接到外部 SQL Server。我在我的命名空间的配置中添加了主机名。我还在边车中设置了 Kerberos

我仍然有连接错误

我的连接字符串如下

 "ConnectionStrings": {
    "SqlDbContext": "Server=ServerXYZ\\InstanceXYZ,55001;Database=myAppDB;Integrated Security=True;
  }

我得到的错误是

“SqlException:发生网络相关或特定于实例的错误 在建立与 SQL Server 的连接时。服务器没有 找到或无法访问。验证实例名称是否正确 并且 SQL Server 已配置为允许远程连接

当我从本地 Windows PC 运行 api 时,iw 工作正常,但我不确定是否需要为 OpenShift Linux pod 调整连接字符串

【问题讨论】:

  • 您的连接字符串中有实例名称和端口号。最好只指定已知的端口号。指定实例名称后,SQL Browser 服务必须在目标服务器上运行,并且可以通过 udp/1434 访问,以将实例名称解析为客户端软件可以连接到的 TCP 端口号。
  • 感谢您的回复!所以像这样添加它? ServerXYZ,55001 或 ServerXYZ\\55001 或 ServerXYZ:55001
  • 使用 ServerNameOrIpAddress,PortNumber
  • 不幸的是,到目前为止,以我的知识有限,您无法通过 openshift 或任何基于 Linux 的机器连接到 sql server,因为您的应用程序必须在 Windows 模式下运行,这在 Linux 世界中是不可能的。接下来是 Kerberos,但在 .net 3.1 之前不支持此方法

标签: sql-server linux .net-core openshift


【解决方案1】:

解决方案是使用 SQL Server myserver.mydomain.com 的完整域名

【讨论】:

    猜你喜欢
    • 2021-09-10
    • 1970-01-01
    • 2020-06-17
    • 2021-07-15
    • 2020-04-25
    • 2019-12-02
    • 2018-10-07
    • 2022-10-13
    • 1970-01-01
    相关资源
    最近更新 更多