【问题标题】:Azure Hybrid Connection stringAzure 混合连接字符串
【发布时间】:2017-12-30 04:49:58
【问题描述】:

我已成功在 Azure 和本地资源之间创建混合连接。我在 Azure 门户和混合连接管理器中都看到“已连接”。

当我使用连接字符串“AppServer://MyPC:5162/AzureOeApi”在 Visual Studio 中本地运行我的 .NET 代码时,一切运行正常,但是当我在 Azure 中运行它时,出现连接错误(它不能查看本地端点)。

在 Azure 中运行时是否需要更改我的连接字符串以强制它通过混合连接,还是会自动处理?

【问题讨论】:

  • AppServer:// 是什么?不应该是http/https吗?
  • 我认为您需要在连接字符串中指定 SQL Server 实例正在侦听的端口。

标签: c# azure azure-web-app-service


【解决方案1】:

无需更改连接字符串。

我们遇到了类似的问题 - 连接是“已连接”,但没有请求通过。您需要在混合连接的配置中使用完全限定的域名。

也请阅读这个问题 - similar question

【讨论】:

  • 谢谢。让我试试
【解决方案2】:

我一直在为这个问题苦苦挣扎一整天,终于有了突破:在我原来的连接字符串中,我指的是 [DB_SERVER]\[INSTANCE],正确配置了数据库实例侦听给定的 TCP 端口 [PORT]

使用此设置,混合连接是“已连接”,但我遇到了异常:

ExceptionMessage:底层提供程序在打开时失败。 -InnerExceptionMessage:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定实例)

事实证明,连接字符串确实需要使用语法 [DB_SERVER],[PORT] 明确引用端口号(而不是数据库实例)(注意逗号!)。

不幸的是,微软没有记录这个微妙的细节......

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 2018-09-06
    • 2019-05-05
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    相关资源
    最近更新 更多