首页 > 解决方案 > Azure Web App 未使用连接字符串通过 VPN 连接到 On-Site SQL Server

问题描述

我有一个 Azure Web App 正在运行,该站点需要连接到现场 SQL 数据库。我的带有 SQL 服务器的现场网络已通过 VPN 添加到 Azures 虚拟网络。当我转到 Azure 并在我的 Web 应用程序上使用控制台时(我已经在这里查看了如何在另一个线程上执行此操作),我可以对 IP 进行 tcpping,甚至在其上运行 sql 命令并获得结果。

但是...我将这些与我在控制台中使用的完全相同的连接字符串详细信息放入连接字符串中,Web 应用程序将无法连接。

我在用

<add name="ConSQL" connectionString="Server=tcp:192.168.xxx.xxx:1433;Initial Catalog=LoggerData;User ID=xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;"/>

有什么我想念的吗?我知道我的 Azure 服务 Web 应用程序可以通过从控制台 ping 和查询来查看和访问现场 sql 服务器,但是一旦我启动 Web 应用程序本身并尝试像在 C# 中那样连接到数据库,它将无法连接.

标签: c#sql-serverazureconnectionvpn

解决方案


尝试转到配置>连接字符串并在 Web 应用程序下添加连接字符串。确保它的名称与代码中引用的完全一致。此外,在您的代码中,请确保您从配置文件中获取连接字符串。

services.AddDbContext<YourDBContext>(options =>
        {
            options.UseSqlServer(Configuration.GetConnectionString("ConSQL"));
        });

推荐阅读