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

为何Python无法连接HANA数据库但HANA Studio可正常连接?

HANA租户数据库Python连接失败问题排查

问题背景

在HANA Studio中选择「Multiple containers」和「Tenant database」配置后可正常连接数据库,但使用Python代码连接时出现连接被拒绝的错误。

Python连接代码

from hdbcli import dbapi

conn1 = dbapi.connect(
    address='与HANA Studio相同', 
    port=30015, 
    user='User', 
    password='*****',
    databasename='HCE'
)

错误信息

Error: (-10709, "Connection failed (RTE:[89006] System call 'connect' failed, rc=10061:No connection could be made because the target machine actively refused it {0.0.0.0:55875 -> 192.160.50.98:30015} (0.0.0.0:55875 -> 192.160.50.98:30015))")

解答

这个错误并非直接由租户数据库本身导致,10061错误属于网络层面的连接拒绝,核心原因是目标主机的指定端口未监听或网络通路被阻断,和租户库的逻辑配置无直接关联。以下是具体排查方向:

  • 验证端口正确性:
    HANA租户数据库的SQL监听端口格式为3<实例号>13,HTTPS端口为3<实例号>15,需确认30015是否为租户库HCE的实际监听端口。可登录HANA系统数据库执行SQL查询:

    SELECT SERVICE_NAME, PORT FROM SYS.M_SERVICES WHERE SERVICE_NAME = 'indexserver' AND DATABASE_NAME = 'HCE';
    
  • 检查网络连通性:
    在运行Python代码的机器上,通过telnet 192.160.50.98 30015或PowerShell命令Test-NetConnection 192.160.50.98 -Port 30015测试端口是否可达,排除防火墙、安全组或网络路由的阻塞问题。

  • 规范连接参数:
    确保address参数填写实际的主机IP或域名(不要使用占位符),同时确认databasename与租户库名称完全一致(HANA库名区分大小写)。

  • 确认租户库服务状态:
    登录HANA系统数据库,执行以下SQL检查租户库HCE是否正常运行:

    SELECT DATABASE_NAME, STATUS FROM SYS.M_DATABASES WHERE DATABASE_NAME = 'HCE';
    

内容的提问来源于stack exchange,提问作者Gustavo A. Marín Acevedo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:32:24