如何将SAP HANA TABLE连接至Microsoft Fabric Notebook?
将SAP HANA表连接至Microsoft Fabric Notebook的操作步骤与配置指导
前置准备
- 拥有SAP HANA实例的访问权限:包括主机地址、端口、用户名、密码,以及目标表的
SELECT权限 - 具备Microsoft Fabric工作区的编辑权限,且已启用Notebook环境
- 确认网络连通性:Fabric环境能访问SAP HANA的指定端口(默认SQL端口为30015,多租户实例端口格式为
3<实例号>15)
一、在Fabric中配置SAP HANA连接
- 进入Fabric工作区,点击左侧导航栏的数据仓库或湖屋(也可直接在Notebook内配置)
- 点击顶部「获取数据」,在数据源列表中选择SAP HANA
- 填写连接参数:
- 服务器:格式为
<主机名/IP>:<端口>(例如hdb.example.com:30015) - 认证方式:选择「基本认证」,输入SAP HANA的用户名和密码
- 数据库:多租户环境下输入租户数据库名称(默认
SYSTEMDB或自定义租户名)
- 服务器:格式为
- 点击「测试连接」,验证通过后为连接命名并保存
二、在Fabric Notebook中读取SAP HANA表
方法1:Spark SQL(推荐)
- 打开Fabric Notebook,选择默认Spark环境(如Spark 3.3)
- 运行以下代码创建临时视图映射SAP HANA表:
CREATE OR REPLACE TEMPORARY VIEW hana_table_view USING com.sap.spark.hana OPTIONS ( url "jdbc:sap://<host>:<port>/?databaseName=<db_name>", dbtable "<schema_name>.<table_name>", user "<hana_username>", password "<hana_password>" )
- 通过Spark SQL查询数据:
SELECT * FROM hana_table_view LIMIT 10
方法2:PySpark直接读取
在Python单元格中运行以下代码:
from pyspark.sql import SparkSession spark = SparkSession.builder.appName("SAP HANA Connection").getOrCreate() df = spark.read.format("com.sap.spark.hana") \ .option("url", "jdbc:sap://<host>:<port>/?databaseName=<db_name>") \ .option("dbtable", "<schema_name>.<table_name>") \ .option("user", "<hana_username>") \ .option("password", "<hana_password>") \ .load() # 查看前10条数据 df.show(10)
三、关键配置注意事项
- 端口核对:单容器HANA默认端口30015,多租户环境下租户数据库端口为
3<实例号>15(例如实例号00对应30015) - 网络权限:若HANA在私有网络,需通过VPN/ExpressRoute打通Fabric与HANA的网络,或配置HANA防火墙允许Fabric IP段访问
- 权限授权:若用户无表访问权限,可在SAP HANA中执行授权语句:
GRANT SELECT ON <schema>.<table> TO <user>; - 版本兼容:Fabric默认集成的Spark驱动支持HANA 2.0及以上版本,若遇兼容性问题需确认驱动与HANA版本匹配
四、常见问题排查
- 连接超时:检查防火墙是否拦截HANA端口,或网络路由是否正常
- 认证失败:核对用户名、密码正确性,以及用户是否有权限访问指定数据库
- 表不存在:确认schema和表名拼写(SAP HANA对象名区分大小写)
内容的提问来源于stack exchange,提问作者Rohit Kulkarni
相关产品推荐
相关产品推荐

