You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用pyodbc/ODBC编辑Azure SQL Database?连接错误求解

解决Azure SQL Database连接错误及Azure内部运行Python脚本方案

一、需要配置的Azure SQL Database设置

  • 服务器级防火墙规则:
    登录Azure门户,进入目标Azure SQL服务器的「防火墙和虚拟网络」设置:

    • 添加本地公网IP到允许列表(可点击「添加客户端IP」自动获取);
    • 若需从Azure内部服务访问,勾选「允许Azure服务和资源访问此服务器」。
      注意:防火墙规则生效需等待1-5分钟,配置后请勿立即测试。
  • 本地网络端口放行:
    确认本地防火墙、路由器允许出站访问1433端口(Azure SQL默认端口),企业网络需联系IT部门开通该端口的出站权限。

  • 身份验证信息校验:
    你使用Authentication=ActiveDirectoryPassword方式,需确保:

    • Uid为完整Azure AD账号(格式如user@yourdomain.onmicrosoft.com);
    • Pwd为该账号的正确密码;
    • 该Azure AD用户已被授予目标数据库的写入权限(需在数据库中创建用户并分配db_datawriter等角色)。
  • 加密与证书配置:
    ODBC Driver 18强制加密连接,TrustServerCertificate=no为正确配置,需确保本地系统根证书存储包含微软根CA证书(Windows默认已安装,Linux/macOS需手动安装对应证书包)。

  • 连接字符串参数替换:
    务必将连接字符串中的servername、{your_user_name}、{your_password_here}替换为实际值,Server部分格式需严格为tcp:xxx.database.windows.net,1433,无需添加实例名称(Azure SQL Database无实例概念)。

二、在Azure内部运行Python脚本的方案

  • Azure Functions:
    将爬虫脚本封装为Python语言的Azure Function,设置定时触发规则。函数运行在Azure环境中,可通过VNet集成或服务端点直接内网访问Azure SQL,完全规避本地网络限制,且按需付费成本较低。

  • Azure Virtual Machine:
    在Azure创建VM并部署Python环境,直接在VM上运行脚本。若VM与Azure SQL处于同一区域,可配置VNet对等连接,使用内网IP访问数据库,提升速度与安全性。

  • Azure App Service Web Jobs:
    将脚本部署为App Service的Web Job,设置定时运行规则。Web Job运行在App Service环境中,可通过Azure内部网络访问SQL数据库,无需处理本地网络防火墙问题。

内容的提问来源于stack exchange,提问作者Tobz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:20:25