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

如何使用pymssql连接Azure Synapse Analytics非内置数据仓库?

用Python连接Azure Synapse Analytics非内置数据仓库的解决方案

可以用pymssql或pyodbc连接Azure Synapse的非内置数据仓库,以下是具体配置和排查方案:

一、使用pymssql连接

关键配置与排查点

  • 确认连接参数:
    • 服务器地址必须为 <synapse-workspace-name>.sql.azuresynapse.net,不要沿用内置数据库的地址
    • 明确指定目标非内置数据仓库的名称,而非默认的master库
    • SQL账号格式为 <server-admin-login>@<synapse-workspace-name>,确保密码正确且账号拥有目标仓库的访问权限
  • 检查防火墙规则:确保你的客户端IP已加入Synapse工作区的防火墙允许列表(非内置仓库继承工作区防火墙设置)
  • 升级pymssql版本:旧版本可能存在兼容性问题,执行pip install --upgrade pymssql更新到最新稳定版

示例代码

import pymssql

# 替换为你的实际参数
conn = pymssql.connect(
    server='<synapse-workspace-name>.sql.azuresynapse.net',
    user='<admin-username>@<synapse-workspace-name>',
    password='<admin-password>',
    database='<your-non-builtin-dw-name>'
)

# 测试连接有效性
cursor = conn.cursor()
cursor.execute('SELECT 1')
print(cursor.fetchone())
conn.close()

二、使用pyodbc替代(推荐用于Azure AD认证场景)

如果pymssql在Azure AD认证场景下存在限制,可改用pyodbc,它对Synapse的支持更全面:

安装依赖

pip install pyodbc

SQL账号连接示例

import pyodbc

conn_str = (
    'DRIVER={ODBC Driver 17 for SQL Server};'
    'SERVER=<synapse-workspace-name>.sql.azuresynapse.net;'
    'DATABASE=<your-non-builtin-dw-name>;'
    'UID=<admin-username>@<synapse-workspace-name>;'
    'PWD=<admin-password>'
)
conn = pyodbc.connect(conn_str)

cursor = conn.cursor()
cursor.execute('SELECT 1')
print(cursor.fetchone())
conn.close()

Azure AD交互式认证示例

import pyodbc

conn_str = (
    'DRIVER={ODBC Driver 17 for SQL Server};'
    'SERVER=<synapse-workspace-name>.sql.azuresynapse.net;'
    'DATABASE=<your-non-builtin-dw-name>;'
    'Authentication=ActiveDirectoryInteractive'
)
# 执行后会弹出Azure AD登录窗口
conn = pyodbc.connect(conn_str)

三、常见失败排查

  • 若提示Login failed for user:检查账号格式、密码正确性,同时确认该账号已在目标数据仓库中被分配db_datareader等必要角色
  • 若提示Cannot open server requested by the login:核对服务器地址拼写,检查防火墙是否放行当前IP
  • 若提示Driver not found:确认ODBC Driver 17 for SQL Server已正确安装(pyodbc场景),或pymssql依赖的FreeTDS组件配置正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 06:22:15