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

如何在Azure Synapse Notebook中用PySpark调用ODBC链接服务连接Oracle@Azure(经VM中转)

在Azure Synapse Notebook中用PySpark调用ODBC链接服务示例

以下是调用已配置完成的ODBC链接服务(经VM中转连接Oracle@Azure)的PySpark代码示例:

读取Oracle数据

# 读取Oracle数据库表数据
df = spark.read \
    .format("jdbc") \
    .option("url", "jdbc:oracle:thin:@//<VM_IP或主机名>:<端口>/<Oracle服务名>") \
    .option("dbtable", "<目标表名>")  # 也可使用SQL查询:"(SELECT col1, col2 FROM table WHERE id>100) AS temp_table"
    .option("user", "<Oracle数据库用户名>") \
    .option("password", "<Oracle数据库密码>") \
    .option("driver", "oracle.jdbc.driver.OracleDriver") \
    .option("AzureLinkedService", "<你的ODBC链接服务名称>") \
    .load()

# 展示前10条数据
df.show(10)

写入数据到Oracle

如果需要将DataFrame数据写入Oracle@Azure,可使用以下代码:

# 写入数据(示例使用append模式,可根据需求替换为overwrite/ignore等)
df.write \
    .format("jdbc") \
    .option("url", "jdbc:oracle:thin:@//<VM_IP或主机名>:<端口>/<Oracle服务名>") \
    .option("dbtable", "<目标表名>") \
    .option("user", "<Oracle数据库用户名>") \
    .option("password", "<Oracle数据库密码>") \
    .option("driver", "oracle.jdbc.driver.OracleDriver") \
    .option("AzureLinkedService", "<你的ODBC链接服务名称>") \
    .mode("append") \
    .save()

关键参数说明

  • AzureLinkedService:指定Synapse中已测试通过的ODBC链接服务名称,Synapse会自动复用该服务的网络配置(通过VM中转的连接通道)
  • url:Oracle@Azure的JDBC连接地址,格式需匹配Oracle Thin驱动要求
  • driver:Oracle官方JDBC驱动类,Synapse运行时已预装该驱动,无需额外部署

内容的提问来源于stack exchange,提问作者S. Hasan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 17:28:10