sql-server - 等待操作超时从 Azure 函数应用程序建立到 SQL Server 的连接
问题描述
我正在 Azure 中构建一个函数应用程序,并尝试连接到第三方 SQL Server。我在函数的应用程序设置中添加了这样的连接字符串:
Server=[servername],1433;Initial Catalog=[dbname];Persist Security Info=False;
User ID=[myuser];Password=[mypassword];MultipleActiveResultSets=False;
Encrypt=False;TrustServerCertificate=True;Connection Timeout=30;
当然,我用实际值替换了 [] 上的字符串,但是每次尝试连接到服务器时,都会出现此错误:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:TCP 提供者,错误:0 - 等待操作超时。)
System.ComponentModel.Win32Exception (0x80004005):等待操作超时
当我尝试使用本地 Management Studio 中的相同凭据连接到同一台服务器时,它可以正确连接,那么我在 Azure 的连接中做错了什么?
感谢您的投入!
解决方案
您的连接字符串看起来正确。该错误表明存在连接问题。如果它在您本地的 SSMS 上运行,我必须问一个显而易见的问题 - 它是本地 SQL 数据库还是 Azure 中的 SQL Azure 数据库?如果它是内部部署的,除非设置混合连接或快速路由,否则您将无法从 Azure 连接到它。如果它在 Azure 中,则服务器名称可能有误。SQL Azure 数据库的主机名带有 *.database.windows.net。
推荐阅读
- python - 保存矩形时出现问题,它使我的游戏崩溃
- amazon-elastic-beanstalk - 在 AWS Elastic Beanstalk 中识别失败的命令挂钩
- javascript - 在绘制新图表之前清除 Anychart (Javascript) 容器
- android - Android 上的 RotationTransition 错误
- javascript - 有没有办法在html中触发事件
- php - 尝试连接到企业搜索时出现错误 500
- sql - 如何将 Jinja 功能添加到 .sqlfluff 配置
- variables - nginx - 以变量为主机名的 proxy_pass 将所有查询指向 index.html
- javascript - Vue-router:我不想使用所有路由来动态创建循环
- c# - 如何在 DataTemplate 中引用 DataTemplate?