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

如何通过Anaconda Jupyter连接Azure SQL数据库并导出数据

Jupyter Notebook连接Azure SQL并导出数据指南

一、Azure SQL连接方式说明

Azure SQL不会默认使用本地桌面凭据,你需要明确指定认证方式,以下是两种常用的连接方案:

1. Azure AD集成身份验证(使用本地桌面凭据)

如果你的本地Windows账号已被授权访问目标Azure SQL数据库,可以通过这种方式免密连接:

import pyodbc

server = "你的服务器名称.database.windows.net"
database = "你的数据库名称"
# 注意:需要提前安装ODBC Driver 17 for SQL Server
cnxn = pyodbc.connect(
    "DRIVER={ODBC Driver 17 for SQL Server};"
    f"SERVER={server};"
    f"DATABASE={database};"
    "Authentication=Active Directory Integrated;"
)

2. SQL身份验证(用户名密码)

如果使用独立的SQL账号,需要显式传入用户名和密码:

import pyodbc

server = "你的服务器名称.database.windows.net"
database = "你的数据库名称"
username = "SQL账号用户名"
password = "SQL账号密码"

cnxn = pyodbc.connect(
    "DRIVER={ODBC Driver 17 for SQL Server};"
    f"SERVER={server};"
    f"DATABASE={database};"
    f"UID={username};"
    f"PWD={password};"
)

二、查询数据(转为DataFrame方便后续导出)

推荐使用pandas处理查询结果,便于快速导出:

import pandas as pd

# 创建游标执行查询
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM 你的目标表名")

# 将查询结果转为DataFrame
df = pd.DataFrame(
    cursor.fetchall(),
    columns=[desc[0] for desc in cursor.description]
)

三、导出数据到CSV/Excel

1. 导出到CSV

# index=False表示不导出索引列,encoding='utf-8-sig'避免中文乱码
df.to_csv("导出文件路径.csv", index=False, encoding="utf-8-sig")

2. 导出到Excel

先安装依赖库openpyxl:

pip install openpyxl

再执行导出:

df.to_excel("导出文件路径.xlsx", index=False, engine="openpyxl")

注意事项

  • 必须安装ODBC Driver 17 for SQL Server,否则连接会失败。
  • 确保Azure SQL服务器的防火墙规则已允许你的本地IP地址访问。
  • 使用AD集成身份验证时,需确认你的本地账号已被授予数据库的访问权限(例如db_datareader角色)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:40:33