c# - 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# 中那样连接到数据库,它将无法连接.
解决方案
尝试转到配置>连接字符串并在 Web 应用程序下添加连接字符串。确保它的名称与代码中引用的完全一致。此外,在您的代码中,请确保您从配置文件中获取连接字符串。
services.AddDbContext<YourDBContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("ConSQL"));
});
推荐阅读
- ios - 如何在 UITableViewCell 单元格中隐藏具有大小的按钮?
- apache-poi - 找不到使用 Apache POI 添加错误栏的 API
- mysql - 外键约束的格式不正确 laravel 6
- microservices - mulesoft 中的系统 API
- hadoop - 远程 HDFS 文件从安全集群移动到非安全集群不起作用
- vb.net - e.RichTextBox 中的Handled 无效。在 TextBox 上,它可以工作
- javascript - 与“标准”JWT 身份验证相比,passport-jwt 是否引入了任何安全优势?
- flutter - 如何在颤动中更改按钮的大小?
- bash - 将变量的值写入文件。该值会自动更改
- flutter - 了解 Flutter 中 Async/Await 的动态属性