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

Azure Function中pyODBC连接SQL Server时出现MAX_PROVS错误

问题

本地运行正常的Python数据处理脚本(用于检索、处理并向SQL数据库插入数据),部署到Azure后连接SQL数据库失败,报错信息如下:

Result: Failure
Exception: Error: ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server]MAX_PROVS: Error code 0x57 (87) (SQLDriverConnect)')
Stack: 
File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py", line 313, in _handle__invocation_request
call_result = await self._loop.run_in_executor(
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py", line 434, in __run_sync_func
return func(**params)
File "/home/site/wwwroot/HttpExample/__init__.py", line 157, in main
conn = pyodbc.connect(con_str)

解决方案

  • 检查ODBC驱动状态:Azure Linux环境下,先确认ODBC Driver 17是否正确安装。执行命令apt list --installed | grep msodbcsql17验证,未安装则运行sudo apt-get install msodbcsql17完成安装。
  • 修正连接字符串:错误代码0x57多因连接字符串参数格式错误导致,比如参数拼写错误、符号使用不当。确保连接字符串符合标准格式,示例:
    con_str = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=your-sql-server.database.windows.net;DATABASE=your-db-name;UID=your-username;PWD=your-password"
    
  • 验证网络访问权限:确认Azure Function的网络配置允许访问目标SQL数据库,比如SQL防火墙规则是否放行Function的IP地址或服务端点,是否配置了VNet集成。
  • 核对环境变量配置:如果连接字符串依赖环境变量,检查Azure Function应用设置中的环境变量是否正确配置,避免值中存在多余空格或特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:12:07