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

使用链接服务和自托管IR从本地SQL Server向Azure Synapse Notebook取数求PySpark代码

通过自托管集成运行时和链接服务在Azure Synapse Notebook中读取本地SQL Server数据

可用的PySpark代码示例

以下代码通过已配置的SQL Server链接服务和自托管集成运行时(Self-hosted IR)从本地SQL Server读取数据,请替换代码中的占位符为你的实际配置:

# 替换为你的实际配置信息
linked_service_name = "你的SQL Server链接服务名称"
self_hosted_ir_name = "你的自托管集成运行时名称"
database_name = "目标数据库名称"
target_table_or_query = "dbo.目标表名"  # 也可写为'SELECT * FROM dbo.目标表名'这类查询语句
sql_user = "本地SQL Server登录账号"
sql_password = "本地SQL Server登录密码"

# 读取数据的PySpark逻辑
df = spark.read \
    .format("com.microsoft.sqlserver.jdbc.spark") \
    .option("url", f"jdbc:sqlserver://AKHAYASQL/SQL2019;databaseName={database_name}") \
    .option("dbtable", target_table_or_query) \
    .option("linkedServiceName", linked_service_name) \
    .option("connectVia", self_hosted_ir_name) \
    .option("user", sql_user) \
    .option("password", sql_password) \
    .load()

# 验证读取结果
df.show()

关键配置验证项

确保以下配置已正确完成,否则会导致连接失败:

  • 自托管集成运行时状态为在线,且所在本地机器能正常访问AKHAYASQL/SQL2019服务器
  • SQL Server链接服务已通过测试,确认能成功连接到本地SQL Server
  • 本地SQL Server账号拥有目标数据库/表的读取权限
  • 自托管IR所在机器的防火墙允许SQL Server默认端口(1433)的入站/出站流量

常见报错排查

  1. 连接超时/无法解析服务器:检查自托管IR是否在线,在IR所在机器上测试AKHAYASQL/SQL2019的网络连通性
  2. 权限不足:验证SQL Server账号的读写权限,确认链接服务配置的凭据与实际账号信息一致
  3. 驱动兼容性问题:Synapse环境默认集成SQL Server JDBC驱动,若仍报错,可确认驱动版本与SQL Server 2019的兼容性

内容的提问来源于stack exchange,提问作者Akhaya Chandan Mishra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:31:03